Sobes.tech
Junior — Middle
104

Wie erstellt man eine abstrakte Klasse in Python und wie kann man sie definieren?

Antwort von AI

sobes.tech KI

В Python абстрактный класс создаётся с помощью модуля abc (Abstract Base Classes). Для этого класс наследуется от ABC и содержит методы, помеченные декоратором @abstractmethod. Такие методы должны быть реализованы в подклассах.

Пример:

from abc import ABC, abstractmethod

class Animal(ABC):
    @abstractmethod
    def make_sound(self):
        pass

class Dog(Animal):
    def make_sound(self):
        print("Гав-гав")

# Попытка создать экземпляр Animal вызовет ошибку
# animal = Animal()  # TypeError

dog = Dog()
dog.make_sound()  # Выведет: Гав-гав

Таким образом, абстрактный класс задаёт интерфейс, который обязаны реализовать все наследники.