В чем разница между абстрактным классом и обычным классом

Python Middle Вкусно и точка
В чем разница между абстрактным классом и обычным классом
Ответы
Абстрактный класс в Python — это класс, который не предназначен для создания экземпляров напрямую, а служит шаблоном для других классов. Он может содержать абстрактные методы (без реализации), которые должны быть переопределены в дочерних классах. Обычный класс можно инстанциировать и использовать напрямую. Ключевые отличия: - Абстрактный класс требует наследования, обычный — нет. - Абстрактный класс может содержать абстрактные методы (@abstractmethod), обычный — нет. - Абстрактный класс нельзя инстанциировать напрямую (вызовет TypeError). Пример: ``` from abc import ABC, abstractmethod class AbstractAnimal(ABC): @abstractmethod def make_sound(self): pass class Dog(AbstractAnimal): def make_sound(self): return "Woof!" # animal = AbstractAnimal() # Ошибка! dog = Dog() # OK print(dog.make_sound()) # Woof! ```