Назад к вопросам
Рунити
Junior — Middle
61
Какие способы реализации абстрактных классов используются в Python?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
В Python абстрактные классы реализуются с помощью модуля abc (Abstract Base Classes). Основной способ — создание класса, наследующегося от abc.ABC, и объявление абстрактных методов с помощью декоратора @abstractmethod.
Пример:
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
print("Bark")
# Попытка создать экземпляр Animal вызовет ошибку
# animal = Animal() # TypeError
dog = Dog()
dog.make_sound() # Выведет: Bark
Также можно использовать @abstractproperty для абстрактных свойств. Такой подход гарантирует, что подклассы реализуют необходимые методы и свойства.