Junior — Middle
95
Milyen módszerek vannak az absztrakt osztályok megvalósítására Pythonban?
Cégeket kérdeztek
Válasz az MI-től
sobes.tech MI
В 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 для абстрактных свойств. Такой подход гарантирует, что подклассы реализуют необходимые методы и свойства.