Sobes.tech
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 для абстрактных свойств. Такой подход гарантирует, что подклассы реализуют необходимые методы и свойства.