Sobes.tech
Junior — Middle
83

Jakie metody realizacji klas abstrakcyjnych są używane w Pythonie?

Firmy, w których zadano pytania
РунитиРунити

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