Sobes.tech
Back to questions
Junior — Middle
60

Создавали ли вы абстрактные классы в своих проектах?

Answer from AI

sobes.tech AI

Да, в своих проектах я создавал абстрактные классы на Python, используя модуль abc (Abstract Base Classes). Абстрактные классы позволяют определить общий интерфейс и базовую функциональность для группы классов, при этом запрещая создание экземпляров самого абстрактного класса.

Пример:

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

Абстрактные классы помогают структурировать код и обеспечивают соблюдение определённого контракта в иерархии классов.