Junior — Middle
67
Nesne yönelimli programlamada soyut sınıf bildirimi ile normal sınıf bildirimi arasındaki fark nedir?
Sorulan şirketler
СБЕР Бизнес
AI'dan gelen yanıt
sobes.tech yapay zeka
В объектно-ориентированном программировании абстрактный класс — это класс, который не предназначен для создания экземпляров напрямую, а служит как базовый класс для других классов. Он может содержать абстрактные методы — методы без реализации, которые должны быть реализованы в подклассах.
В 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() можно создать
Обычный класс не содержит абстрактных методов и может быть инстанцирован напрямую. Абстрактный класс служит для определения интерфейса и общей логики, которую должны реализовать наследники.