Узнать, как создавать методы и свойства классов, познакомиться с интерфейсами и абстрактными классами, научиться расширять и модифицировать классы.
Что мы узнаем:
- Что такое методы и свойства классов.
- Как использовать интерфейсы и абстрактные классы.
- Как модифицировать и расширять классы.
Теоретическая часть:
Методы и свойства классов
Методы — это функции, принадлежащие классу, а свойства — переменные, хранящиеся в классе.
Пример метода:
class Person:
def init(self, name):
self.name = name
def say_hello(self):
print(f"Здравствуйте, меня зовут {self.name}!")
person = Person("Алексей")
person.say_hello() # Выведет "Здравствуйте, меня зовут Алексей!"
Интерфейсы и абстрактные классы
Абстрактные классы служат основой для наследуемых классов и содержат методы, реализация которых обязательна.
Пример абстрактного класса:
from abc import ABC, abstractmethod
class Shape(ABC):
@abstractmethod
def area(self):
pass
class Circle(Shape):
def init(self, radius):
self.radius = radius
def area(self):
return 3.14 * self.radius ** 2
circle = Circle(5)
print(circle.area()) # Выведет примерно 78.5
Модификация и расширение классов
Наследование позволяет расширить функциональность существующего класса.
Пример расширения класса:
class Employee(Person):
def work(self):
print(f"{self.name} работает усердно.")
employee = Employee("Анна")
employee.work() # Выведет "Анна работает усердно."
Практическая часть:
Задача 1: Создайте класс "Книга" с методами для чтения и закрытия.
class Book:
def read(self):
print("Читаем книгу...")
def close(self):
print("Закрываем книгу.")
book = Book()
book.read() # Выведет "Читаем книгу..."
Задача 2: Создайте абстрактный класс "Транспорт" и подкласс "Самолет".
from abc import ABC, abstractmethod
class Transport(ABC):
@abstractmethod
def move(self):
pass
class Airplane(Transport):
def move(self):
print("Летим в небо!")
airplane = Airplane()
airplane.move() # Выведет "Летим в небо!"
Итог урока:
Сегодня мы узнали, как использовать методы и свойства классов, а также как создавать интерфейсы и абстрактные классы. Эти знания помогут создавать более гибкие и надежные программы.
Справочник Python