Back to questions
Вкусно и точка
Junior — Middle
70
Можете объяснить, что означает понятие абстрактный класс в объектно-ориентированном программировании?
Companies where asked
ООО Корпорация ЗНАК
Answer from AI
sobes.tech AI
Абстрактный класс в объектно-ориентированном программировании — это класс, который не предназначен для создания экземпляров напрямую, а служит как базовый шаблон для других классов.
Основные особенности абстрактного класса:
- Может содержать как реализованные методы, так и абстрактные (без реализации).
- Абстрактные методы должны быть реализованы в наследниках.
- Позволяет задать общий интерфейс и поведение для группы связанных классов.
В Python абстрактные классы создаются с помощью модуля abc и декоратора @abstractmethod.
Пример:
from abc import ABC, abstractmethod
class Animal(ABC):
@abstractmethod
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
print("Гав")
# animal = Animal() # Ошибка: нельзя создать экземпляр абстрактного класса
dog = Dog()
dog.make_sound() # Выведет: Гав
Таким образом, абстрактный класс задаёт обязательный набор методов для наследников, обеспечивая единообразие интерфейса.