Основы Python: Объектно-ориентированное программирование (ООП)

Lesson 2 of 7 • 10 XP

Keep your place in this quest

Log in or sign up for free to subscribe, follow lesson progress, and access more learning content.

Как только вы определили класс, вы можете оживить его, создавая объекты на его основе.
Помните: класс — это всего лишь чертёж, он не содержит реальных данных, пока вы не создадите объект (также называемый экземпляром) на его основе.


Как создать объект

Чтобы создать объект из класса, нужно вызвать имя класса как функцию, передав все необходимые параметры для его метода __init__.

Пример:

person1 = Person("John", 30)
````

Что происходит пошагово:

1. Python видит `Person("John", 30)` и вызывает метод `__init__` внутри класса `Person`.
2. `"John"` присваивается атрибуту `name`, а `30` — атрибуту `age` для данного конкретного объекта.
3. Создаётся новый объект и сохраняется в переменной `person1`.

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


---

# Доступ к атрибутам и методам

После того как у вас есть объект, вы можете получить доступ к его **атрибутам** (данным) и **методам** (действиям), используя **точечную нотацию**.

Пример:
```python
print(person1.name)      # Вывод: John
person1.greet()          # Вывод: Hello, my name is John and I am 30 years old.
  • person1.name получает значение атрибута name, хранящегося внутри объекта.
  • person1.greet() вызывает метод greet, который использует атрибуты объекта для отображения персонализированного сообщения.

ВАЖНО!: При вызове метода нужно ставить круглые скобки () — иначе вы просто ссылаетесь на метод, но не выполняете его.


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

Одно из преимуществ классов заключается в том, что вы можете создавать сколько угодно объектов, каждый со своими уникальными данными.

Пример:

person2 = Person("Alice", 25)

print(person2.name)  # Вывод: Alice
person2.greet()      # Вывод: Hello, my name is Alice and I am 25 years old.

Здесь:

  • person1 и person2 — это оба объекты Person, но у каждого своё состояние (значения name и age).
  • Методы, такие как greet(), работают одинаково для обоих объектов, но дают разные результаты в зависимости от их атрибутов.

Итоги

Создание объектов — это способ оживить ваши классы. Из одного шаблона можно создать множество уникальных экземпляров, каждый со своими данными, но с общим набором поведения.

В следующем уроке мы рассмотрим наследование — способ создавать новые классы на основе существующих, повторно использовать и расширять их функциональность.