Back to questions
Junior — Middle
61
Имели ли вы经验 по использованию абстрактных классов в своих проектах?
Companies where asked
ООО Корпорация ЗНАК
Answer from AI
sobes.tech AI
Да, в проектах на 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()) # Выведет: Гав
Такой подход помогает гарантировать, что все подклассы реализуют необходимые методы.