Классы и объекты


Классы и объекты

Изучение классов и объектов в Python.

Классы и объекты

В этом занятии мы изучим, как работать с классами и объектами в Python. Классы позволяют создавать собственные типы данных, а объекты — экземпляры этих типов. Это основа объектно-ориентированного программирования (ООП).

Создание класса

Класс создаётся с помощью ключевого слова class. Внутри класса можно определить методы (функции) и атрибуты (переменные).

class Dog:
    def __init__(self, name):
        self.name = name  # Атрибут объекта

    def bark(self):
        print(f"{self.name} лает!")

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

Объект создаётся путём вызова класса как функции. При этом автоматически вызывается метод __init__.

my_dog = Dog("Бобик")
my_dog.bark()  # Выведет: Бобик лает!

Атрибуты и методы

Атрибуты — это переменные, принадлежащие объекту, а методы — это функции, которые могут работать с данными объекта.

class Car:
    def __init__(self, brand, model):
        self.brand = brand
        self.model = model

    def start(self):
        print(f"{self.brand} {self.model} заведена")

my_car = Car("Toyota", "Corolla")
my_car.start()  # Выведет: Toyota Corolla заведена

Наследование

Наследование позволяет создавать новые классы на основе существующих. Новый класс (дочерний) наследует атрибуты и методы родительского класса.

class Animal:
    def speak(self):
        print("Животное издает звук")

class Dog(Animal):
    def bark(self):
        print("Собака лает")

my_dog = Dog()
my_dog.speak()  # Выведет: Животное издает звук
my_dog.bark()   # Выведет: Собака лает

Заключение

Теперь вы знаете, как работать с классами и объектами в Python. Попробуйте создать свои классы и объекты, чтобы лучше понять принципы ООП. В следующем занятии мы изучим наследование и полиморфизм.

Практика

🎯 Миссия 12: Создать рыбий патруль
🔍 Контекст: Даже Немо нужен классовый подход!

⚙️ Техзадание:
1. Класс Fish с атрибутами name, species и методом swim()
2. Класс DivingFish (наследуется от Fish) с max_depth и методом dive()
3. Создайте объекты и вызовите методы

Немо плывёт!
Джеймс ныряет на 1000м!

💡 Подсказка: class DivingFish(Fish):

Попробуйте на практике:

Результат:


                

Вопросы для закрепления

Вопросы для проверки усвоенного материала доступны зарегистрированным пользователям.

К следующему уроку