Урок 4. Инкапсуляция, наследование, полиморфизм.

Тип урока: комбинированный урок.

Цель:

Знать:

  • понятия инкапсуляция, наследование, полиморфизм;
  • основные черты объектно-ориентированного подхода к программированию.

 

Теоретический материал

В основе ООП три фундаментальных принципа:

  • инкапсуляция.
  • наследование.
  • полиморфизм.

Инкапсуляция.
Класс представляет собой единство трех сущностей – полей, методов и свойств. Объединение этих сущностей в единое целое и называется инкапсуляцией.

Хорошо сконструированные объекты должны состоять из двух частей:

  • Данных и разделов реализации, скрытых от программистов, использующих объект (цель- защита данных от несанкционированных изменений)
  • Набора интерфейсных элементов, предоставляющих возможность программистам обращаться со скрытыми методами и данными.

Наследование.
Этот простой принцип означает, что если вы хотите создать новый класс, лишь немногим отличающийся от того, что уже существует, то нет необходимости в переписывании заново всех полей, методов и свойств. Вы объявляете, что новый класс является потомком (или дочерним классом) имеющегося класса, называемого предком (или родительским классом), и добавляете к нему новые поля, методы и свойства. Иными словами добавляется то, что нужно для перехода от общего к частному. Процесс порождения новых классов на основе других классов называется наследованием. Новые классы имеют как унаследованные признаки, так и, возможно, новые. Например, класс СОБАКИ унаследовал многие свойства своих предков — ВОЛКОВ. Любой класс может быть порожден от другого класса. Для этого при его объявлении указывается имя класса родителя.

  • Дочерний класс автоматически наследует поля, методы и свойства своего родителя и может добавлять их новыми.
  • Принцип наследования обеспечивает поэтапное создание сложных классов и разработку собственных библиотек классов.

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

Задание:

Для классов млекопитающие и класса птицы привести примеры, как при их описании выражаются принципы инкапсуляции, наследования и полиморфизма.

Контрольные вопросы:

1. Назовите основные принципы ООП?

2. В чем суть инкапсуляции?

3. Для чего нужно наследование?

4. Что такое полиморфизм?