Sobes.tech
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()  # Выведет: Гав

Таким образом, абстрактный класс задаёт обязательный набор методов для наследников, обеспечивая единообразие интерфейса.