Junior — Middle
73
Qual é a diferença entre uma declaração de classe abstrata e uma classe normal em programação orientada a objetos?
Empresas quando solicitadas
СБЕР Бизнес
Resposta da IA
sobes.tech IA
В объектно-ориентированном программировании абстрактный класс — это класс, который не предназначен для создания экземпляров напрямую, а служит как базовый класс для других классов. Он может содержать абстрактные методы — методы без реализации, которые должны быть реализованы в подклассах.
В Python абстрактный класс объявляется с помощью модуля abc и декоратора @abstractmethod:
from abc import ABC, abstractmethod
class AbstractClass(ABC):
@abstractmethod
def do_something(self):
pass
class ConcreteClass(AbstractClass):
def do_something(self):
print("Реализация метода")
# AbstractClass() вызовет ошибку, а ConcreteClass() можно создать
Обычный класс не содержит абстрактных методов и может быть инстанцирован напрямую. Абстрактный класс служит для определения интерфейса и общей логики, которую должны реализовать наследники.