Как создать абстрактный класс
Python
Middle
Без компании
Как создать абстрактный класс
Ответы
В Python абстрактные классы создаются с помощью модуля `abc` (Abstract Base Classes). Основные шаги:
- Импортируйте `ABC` и `abstractmethod` из модуля `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 "Woof!"
# animal = Animal() # Ошибка: нельзя создать экземпляр абстрактного класса
dog = Dog()
print(dog.make_sound()) # Выведет: Woof!
```
Ключевые особенности:
- Нельзя создать экземпляр абстрактного класса
- Дочерние классы обязаны реализовать все абстрактные методы
- Полезно для определения интерфейсов и обеспечения полиморфизма