Объектно-ориентированное программирование для чайников

Концепции основные программирования объектно-ориентированного вам излагать пытаться я буду. Основная ошибка как учащихся, так и обучающих, состоит в том, что пробежав по основным понятиям ООП «галопом по европам» и те, и другие бросаются в пропасть практики на конкретном языке программирования, так толком и не осознав, зачем это надо, куда это применять и каким образом.

Если случится невероятное, и мои тексты окажутся слегка более понятными, чем первое предложение в верхнем абзаце, быстрая писанина «блоговода-зарабатывателя» и занудная лекция по бумажке того несчастного преподавателя математики, которым заткнули дыру в расписании по IT-дисциплине — я буду рад и счастлив.

А вы, в свою очередь, попытайтесь «запрограммировать» в голове (желательно — в своей) окружающий вас мир (мебель дома, девчонок на улице, транспорт и т.п.) в соответствии с объектно-ориентированным подходом.


 

Что такое классы и объекты в ООП?

До появления объектно-ориентированного подхода, когда программисты работали на каменных клавиатурах, во многих языках программирования давно уже возникла потребность в несколько более расширенных типах данных, чем простые целые и вещественные числа, логические «истина-ложь» и текстовые строки. Попросту говоря, при большом количестве атрибутов какой-либо сущности работать с несколькими массивами весьма затруднительно.
 

Принципы (свойства) ООП: наследование для чайников (inheritance)

Наследование — важный механизм объектно-ориентированного подхода, позволяющий расширить и/или изменить структуру уже существующего (родительского) класса, путём написания нового класса (потомка), который полностью наследует все свойства и методы и, плюс, добавляет что-то своё. Далее можно начинать создавать и использовать в программе новые объекты с расширенными возможностями.
 

Принципы (свойства) ООП: инкапсуляция для чайников (public, protected, private)

Инкапсуляция (по-русски: «сокрытие») — это свойство объектов скрывать некоторые свои данные и способы их обработки (методы) от окружающей его цифровой среды и, в частности, от кривых ручонок малоопытных программистов, оставляя «снаружи» только необходимые и/или требуемые свойства и функциональные возможности.