Sobes.tech
Junior — Middle
78

Avez-vous de l'expérience dans l'utilisation de classes abstraites dans vos projets?

Entreprises à qui on a demandé
ООО Корпорация ЗНАК

Réponse de l'IA

sobes.tech IA

Да, в проектах на Python я использовал абстрактные классы для определения базового интерфейса и общей логики, которую должны реализовать подклассы. Это помогает обеспечить единообразие и избежать дублирования кода.

В Python абстрактные классы создаются с помощью модуля abc и декоратора @abstractmethod.

Пример:

from abc import ABC, abstractmethod

class Animal(ABC):
    @abstractmethod
    def make_sound(self):
        pass

class Dog(Animal):
    def make_sound(self):
        return "Гав"

class Cat(Animal):
    def make_sound(self):
        return "Мяу"

# animal = Animal()  # Ошибка, нельзя создать экземпляр абстрактного класса

dog = Dog()
print(dog.make_sound())  # Выведет: Гав

Такой подход помогает гарантировать, что все подклассы реализуют необходимые методы.