Классы и объекты
Изучение классов и объектов в 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):
Попробуйте на практике:
Результат:
Вопросы для закрепления
Вопросы для проверки усвоенного материала доступны зарегистрированным пользователям.