Встречается на собеседованиях • сегодня

Что такое абстрактные классы

Абстрактный класс - это класс, который является классом-шаблоном для других классов. Он содержит один или несколько абстрактных методов. Он не предназначен для создания объектов напрямую.

Абстрактный метод - это метод, который объявлен в абстрактном классе, но не имеет реализации. Он служит как бы шаблоном для метода, который должен быть реализован в подклассах.

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, Источник

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы