Абстрактный класс - это класс, который является классом-шаблоном для других классов. Он содержит один или несколько абстрактных методов. Он не предназначен для создания объектов напрямую.
Абстрактный метод - это метод, который объявлен в абстрактном классе, но не имеет реализации. Он служит как бы шаблоном для метода, который должен быть реализован в подклассах.
from abc import ABC, abstractmethod
class Animal(ABC):
def __init__(self, name, age):
self.name = name
self.age = age
@abstractmethod
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "Woof!"
class Cat(Animal):
def make_sound(self):
return "Meow!"
Зачем они нужны?
Как они используются?