Python ООП для начинающих: уроки #17

Объектно-ориентированное программирование (ООП) — подход к разработке программного обеспечения, основанный на концепциях объектов и классов. В Python, как и в других языках программирования, ООП позволяет создавать более структурированный, масштабируемый и удобный для совместной разработки код. Хотя можно обойтись без ООП, особенно в небольших программах, его использование значительно упрощает работу над крупными проектами, над которыми работает несколько человек. ООП улучшает читаемость кода и способствует оптимизации.

Что такое ООП?

В основе ООП лежат классы и объекты. Класс — шаблон, определяющий структуру и поведение объектов. Объект — конкретный экземпляр класса, обладающий свойствами (переменными) и методами (функциями), определёнными в классе.

Например, класс Человек может иметь поля имя и возраст. Создав два объекта этого класса — Иван и Влад, каждый из них будет иметь доступ к полям имя и возраст, но значения этих полей будут различными. Иван может иметь имя «Иван» и возраст 15, а Влад — «Влад» и возраст 40.

Создание классов и объектов

Для создания класса используется ключевое слово class, за которым следует имя класса. Например:

class Person:
    name = "Иван"
    age = 10

Это создаёт класс Person с полями name (имя) и age (возраст), заданными по умолчанию.

Создадим объект класса Person:

vlad = Person()

Теперь vlad — объект класса Person. Можно изменить его свойства:

vlad.name = "Влад"

Вывод на экран:

print(vlad.name)  # Выведет "Влад"

Создадим ещё один объект:

ivan = Person()
print(ivan.name) # Выведет "Иван" (значение по умолчанию)

Каждый объект имеет собственные характеристики. Изменение свойства одного объекта не влияет на другие объекты того же класса.

Методы класса

В классах функции называются методами. Каждый метод должен принимать первый аргумент self, представляющий экземпляр класса.

Создадим метод set_info:

class Person:
    name = "Иван"
    age = 10

    def set_info(self, name, age):
        self.name = name
        self.age = age

Теперь можно использовать этот метод для установки значений полей объекта:

vlad = Person()
vlad.set_info("Влад", 25)
print(f"{vlad.name} - {vlad.age}") # Выведет "Влад - 25"

ivan = Person()
ivan.set_info("Иван", 56)
print(f"{ivan.name} - {ivan.age}") # Выведет "Иван - 56"

В этом уроке мы познакомились с основными понятиями ООП в Python: классами и объектами, а также созданием и использованием методов. В следующих уроках мы рассмотрим более продвинутые аспекты ООП.

Что будем искать? Например,программа