Похожие презентации:
Lec2_Python_OOP
1. Объектно-ориентированный подход в Python
ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙПОДХОД В PYTHON
Основы ООП
2. Содержание
СОДЕРЖАНИЕ1.
Деструкторы
2.
Методы классов
3.
Атрибуты классов
4.
Статические методы
5.
Свойства
3. Деструкторы
ДЕСТРУКТОРЫo
Деструкторы вызываются, когда объект
уничтожается. В Python деструкторы не нужны
так сильно, как в C++, потому что в Python есть
сборщик мусора, который автоматически
обрабатывает управление памятью.
o
Метод __del__() известен в Python как метод
деструктора. Он вызывается сборщиком, когда
все ссылки на объект были удалены, т.е. когда
объект собран в виде мусора.
o
Ссылка на объект также удаляется, когда
объект удаляется или когда программа
завершается.
4. Уборка «мусора»
УБОРКА «МУСОРА»o
Действие уборщика «мусора» можно
продемонстрировать сохранив код в скрипт и
вызвав его в интерпретаторе.
o
Обратите внимание, что объект obj не
уничтожается при прекращении работы
функции, потому что ссылка на него передана
в obj1.
5. Уборка «мусора» с реккурсией
УБОРКА «МУСОРА» С РЕККУРСИЕЙo
При реккурсивном вызове объект существует в
течении работы реккурсивной передачи
ссылок на него.
o
При завершении исполнения скрипта
уборщик «мусора» очистит объект.
6. Атрибуты классов
АТРИБУТЫ КЛАССОВo
Объекты одного класса имеют общие атрибуты
класса или статические переменные.
o
Атрибуты объекта или нестатические переменные
различны для разных объектов (у каждого объекта
есть копия).
o
Статические атрибуты определены внутри
определения класса, но вне любых определений
методов. Обычно они инициализируются
значением, точно так же, как атрибут объекта, но к
ним можно получить доступ и изменить их через
сам класс, а не через экземпляр.
7. Методы классов
МЕТОДЫ КЛАССОВo
Декоратор @classmethod - это встроенный декоратор
метода класса.
o
Метод класса получает класс в качестве неявного
первого аргумента, точно так же, как метод экземпляра
получает экземпляр.
o
Метод класса – это метод, который привязан к классу, а
не к объекту класса.
У него есть доступ к состоянию
класса, поскольку он принимает параметр класса,
который указывает на класс, а не на экземпляр объекта.
o
Он может изменять состояние класса, которое будет
применяться ко всем экземплярам класса.
8. Статический метод класса
СТАТИЧЕСКИЙ МЕТОД КЛАССАo
Статический метод не получает неявный
первый аргумент.
o
Статический метод - это также метод, который
привязан к классу, а не к объекту класса.
o
Этот метод не может получить доступ к
состоянию класса или изменить его.
o
Он присутствует в классе, потому что имеет
смысл, чтобы метод присутствовал в классе.
9. Соотношение методов класса
СООТНОШЕНИЕ МЕТОДОВ КЛАССАo
Обычно мы используем методы класса для
создания фабричных методов.
o
Фабричные методы возвращают объекты
класса (аналогично конструктору) для
различных вариантов использования.
o
Обычно мы используем статические методы
для создания служебных функций.
10. Cпасибо за внимание!!!
CПАСИБО ЗА ВНИМАНИЕ!!!Вопросы???