Содержание

Слайд 2

Инкапсуляция

По умолчанию атрибуты в классах являются общедоступными, а это значит, что из

Инкапсуляция По умолчанию атрибуты в классах являются общедоступными, а это значит, что
любого места программы мы можем получить атрибут объекта и изменить его

Слайд 3

Инкапсуляция

Инкапсуляция является фундаментальной концепцией объектно-ориентированного программирования. Она предотвращает прямой доступ к атрибутам

Инкапсуляция Инкапсуляция является фундаментальной концепцией объектно-ориентированного программирования. Она предотвращает прямой доступ к
объект из вызывающего кода.
Касательно инкапсуляции непосредственно в языке программирования Python скрыть атрибуты класса можно сделав их приватными или закрытыми и ограничив доступ к ним через специальные методы, которые еще называются свойствами.

Слайд 4

Инкапсуляция

Для создания приватного атрибута в начале его наименования ставится двойной прочерк: self.__name.

Инкапсуляция Для создания приватного атрибута в начале его наименования ставится двойной прочерк:
К такому атрибуту мы сможем обратиться только из того же класса. Но не сможем обратиться вне этого класса.
Меняем на
Данный метод еще часто называют геттер или аксессор.

Слайд 5

Здесь мы уже можем решить в зависимости от условий, надо ли переустанавливать

Здесь мы уже можем решить в зависимости от условий, надо ли переустанавливать
возраст. Данный метод еще называют сеттер или мьютейтор (mutator).

Слайд 6

Аннотации свойств

Для создания свойства-геттера над свойством ставится аннотация @property.
Для создания свойства-сеттера над

Аннотации свойств Для создания свойства-геттера над свойством ставится аннотация @property. Для создания
свойством устанавливается аннотация имя_свойства_геттера.setter.

Слайд 9

Наследование

Наследование позволяет создавать новый класс на основе уже существующего класса
Подкласс наследует от

Наследование Наследование позволяет создавать новый класс на основе уже существующего класса Подкласс
суперкласса все публичные атрибуты и методы.
Суперкласс еще называется базовым (base class) или родительским (parent class), а подкласс - производным (derived class) или дочерним (child class).

Слайд 11

Наследование

Класс Employee полностью перенимает функционал класса Person и в дополнении к нему

Наследование Класс Employee полностью перенимает функционал класса Person и в дополнении к
добавляет метод details().
Стоит обратить внимание, что для Employee доступны через ключевое слово self все методы и атрибуты класса Person, кроме закрытых атрибутов типа __name или __age.
При создании объекта Employee мы фактически используем конструктор класса Person. И кроме того, у этого объекта мы можем вызвать все методы класса Person.

Слайд 12

Полиморфизм

Предполагает способность к изменению функционала, унаследованного от базового класса.

Полиморфизм Предполагает способность к изменению функционала, унаследованного от базового класса.