Объектно-ориентированный подход в Python
Содержание
Деструкторы
Уборка «мусора»
Уборка «мусора» с реккурсией
Атрибуты классов
Методы классов
Статический метод класса
Соотношение методов класса
Cпасибо за внимание!!!
325.37K

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ПАСИБО ЗА ВНИМАНИЕ!!!
Вопросы???
English     Русский Правила