Встречается на собеседованиях • сегодня
Что такое абстрактные классы
Абстрактный класс - это класс, который является классом-шаблоном для других классов. Он содержит один или несколько абстрактных методов. Он не предназначен для создания объектов напрямую.
Абстрактный метод - это метод, который объявлен в абстрактном классе, но не имеет реализации. Он служит как бы шаблоном для метода, который должен быть реализован в подклассах.
python
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!"
Зачем они нужны?
- Чтобы создать общий интерфейс
- Классы будут иметь общие методы и свойства, но могут реализовывать их по-разному.
- Все дочерние классы должны будут обязательно иметь реализацию каждого абстрактного метода, поэтому мы точно будем уверены, что во всех классах, созданных на основе абстрактного класса, будет иметься реализация абстрактных методов
- Устранение дублирования кода
- Например вынести метод init в абстрактный класс
Oct. 9, 2023, Источник

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы