Что такое абстрактные классы ?
Спросят с вероятностью 10%
Абстрактные классы - это классы содержащие один или несколько абстрактных методов. Абстрактный метод - это метод, который определен в абстрактном классе, но не имеет реализации в самом классе. Вместо этого они должны быть реализованы в подклассах, наследующих абстрактный класс.
Основная цель абстрактных классов - предоставить общий интерфейс для всех подклассов, гарантируя, что каждый подкласс реализует определенный набор методов. Это способствует согласованности и структурности кода, а также облегчает поддержку и понимание проекта.
Абстрактные классы можно создать с помощью модуля
В приведенном выше примере класс
➡️ Примеры ответов
➡️ Список всех вопросов на Python Developer
🧩 Идущий | 🔐 Собесы | 🔐 Тестовые
Спросят с вероятностью 10%
Абстрактные классы - это классы содержащие один или несколько абстрактных методов. Абстрактный метод - это метод, который определен в абстрактном классе, но не имеет реализации в самом классе. Вместо этого они должны быть реализованы в подклассах, наследующих абстрактный класс.
Основная цель абстрактных классов - предоставить общий интерфейс для всех подклассов, гарантируя, что каждый подкласс реализует определенный набор методов. Это способствует согласованности и структурности кода, а также облегчает поддержку и понимание проекта.
Абстрактные классы можно создать с помощью модуля
abc
(Abstract Base Classes). Вот пример:from abc import ABC, abstractmethod
class Animal(ABC): # Наследование от ABC позволяет создать абстрактный класс
@abstractmethod
def make_sound(self):
pass
class Dog(Animal): # Класс Dog наследует абстрактный класс Animal
def make_sound(self):
return "Woof!"
class Cat(Animal): # Класс Cat также наследует абстрактный класс Animal
def make_sound(self):
return "Meow!"
# Создаем экземпляры подклассов и вызываем методы
dog = Dog()
print(dog.make_sound()) # Выведет: Woof!
cat = Cat()
print(cat.make_sound()) # Выведет: Meow!
В приведенном выше примере класс
Animal
является абстрактным, потому что он содержит абстрактный метод make_sound()
. Этот метод должен быть реализован в каждом конкретном подклассе Dog
и Cat
. Если попытаться создать экземпляр Animal
, Python выдаст ошибку, потому что эти классы не могут быть инстанциированы напрямую.➡️ Примеры ответов
➡️ Список всех вопросов на Python Developer