OOP#
Определение#
ООП (Object-Oriented Programming) — методология программирования, в которой система строится вокруг объектов (данные + поведение), где каждый объект является экземпляром определенного класса, а классы образуют иерархию наследования.
Как это работает#
ООП опирается на несколько базовых сущностей:
-
Class — языковая конструкция, определяющий структуру (атрибуты) и поведение (методы) для создаваемых на его основе объектов.
-
Attribute — переменная, принадлежащая экземпляру или классу и содержащая данные, описывающие его состояние. self.name = name
-
Method — функция, объявленная в составе класса, которая вызывается у объекта (через self) и работает с его данными/атрибутами. def meow(self):
-
Object — конкретный экземпляр класса со своими значениями атрибутов и возможностью вызывать методы класса.
4 основных принципа ООП:
- Инкапсуляция (Encapsulation)
- Наследование (Inheritance)
- Полиморфизм (Polymorphism)
- Абстракция (Abstraction)
Пример#
class Cat:
def __init__(self, name, color):
self.name = name # Attribute | Данные объекта
self.color = color
def meow(self): # Method | Поведение объекта
return f"{self.name}: meow!"
cat_object = Cat("Kitty", "black") # Object | Экземпляр класса
print(cat_object.name) # Доступ к атрибуту
print(cat_object.meow()) # Вызов метода