Back to questions
Рунити
Junior — Middle
60
Какие способы реализации абстрактных классов используются в Python?
Companies where asked
Answer from AI
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 для абстрактных свойств. Такой подход гарантирует, что подклассы реализуют необходимые методы и свойства.