Концепции объектно-ориентированного программирования

Абстракция данных – это возможность определять новые типы данных, с которыми можно работать почти также, как и с основными типами данных.

Инкапсуляция (дословно – «содержание в оболочке»)– это механизм, который объединяет данные и функции (методы), манипулирующие этими данными, и защищает и то  и другое от внешнего вмешательства или неправильного использования. Когда методы и данные объединяются таким образом, создается объект. Их объявление включено в описание объекта. В совокупности они отражают свойства объекта. Они выполняют действия над соответствующим объектом. Возможность управлять состояниями объекта посредством вызова методов в итоге и определяет поведение объекта. Эту совокупность методов называют интерфейсом объекта.

Внутри объекта данные и методы (коды) могут быть закрытыми для этого объекта или открытыми. Закрытые доступны только для других частей этого объекта и недоступны для тех частей программы, которые существуют вне объекта. Открытые данные и методы доступны для других частей программы. Характерной является ситуация, когда открытая часть объекта используется для того, чтобы обеспечить контролируемый интерфейс закрытых элементов объекта.

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

Пример: рулевое колесо автомобиля (руль), работает одинаково при использовании электропривода, механического привода, ручного управления.

Наследование – это процесс, посредством которого один объект может наследовать свойства другого объекта и добавлять к ним черты, характерные только для него. В итоге создается иерархия классов. Смысл и универсальность наследования заключается в том, что не надо каждый раз заново («с нуля» ) описывать новый объект, а можно указать родителя (базовый класс) и описать отличительные особенности нового класса.. В результате новый объект будет обладать всеми свойствами родительского класса плюс своими собственными отличительными особенностями.

Пример: сельдерей à овощи à растения.

Среда, 08.05.2024, 23:39
Приветствую Вас Гость