DANFA

Python: Методы и свойства классов, интерфейсы и абстрактные классы

Цель урока:
Узнать, как создавать методы и свойства классов, познакомиться с интерфейсами и абстрактными классами, научиться расширять и модифицировать классы.

Что мы узнаем:
  • Что такое методы и свойства классов.
  • Как использовать интерфейсы и абстрактные классы.
  • Как модифицировать и расширять классы.

Теоретическая часть:

Методы и свойства классов


Методы — это функции, принадлежащие классу, а свойства — переменные, хранящиеся в классе.

Пример метода:
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
Автор:  01.10.2025 07:09:21 pm