Skip to content

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())            # Вызов метода

Полезные источники#

Принципы ООП в примерах - Хабр