Sobes.tech
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