Встречается на собеседованиях • сегодня
В чем разница между абстрактным классом и обычным классом
Абстрактный класс в Python — это класс, который не предназначен для создания экземпляров напрямую, а служит шаблоном для других классов. Он может содержать абстрактные методы (без реализации), которые должны быть переопределены в дочерних классах. Обычный класс можно инстанциировать и использовать напрямую.
Ключевые отличия:
- Абстрактный класс требует наследования, обычный — нет.
- Абстрактный класс может содержать абстрактные методы (@abstractmethod), обычный — нет.
- Абстрактный класс нельзя инстанциировать напрямую (вызовет TypeError).
Пример:
python
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!
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы