Junior — Middle
80
Obyekt yönümlü proqramlaşdırmada abstrakt sinif elan etmə ilə adi sinif arasındakı fərq nədir?
Şirkətlər soruşuldu
СБЕР Бизнес
AI-dan cavab
sobes.tech Süni İntellekt
В объектно-ориентированном программировании абстрактный класс — это класс, который не предназначен для создания экземпляров напрямую, а служит как базовый класс для других классов. Он может содержать абстрактные методы — методы без реализации, которые должны быть реализованы в подклассах.
В 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() можно создать
Обычный класс не содержит абстрактных методов и может быть инстанцирован напрямую. Абстрактный класс служит для определения интерфейса и общей логики, которую должны реализовать наследники.