Back to questions
Junior — Middle
73
Каким образом реализовать базовый абстрактный класс в объектно-ориентированном программировании?
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):
return "Bark"
# animal = Animal() # Ошибка: нельзя создать экземпляр абстрактного класса
dog = Dog()
print(dog.make_sound()) # Выведет: Bark