Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: inheritance, composition, mixin, oop

Какие есть способы переиспользования методов одного класса в другом (наследование, композиция)?

Вопрос проверяет знание основных подходов к повторному использованию кода в ООП.

Короткий ответ

  1. Наследование — дочерний класс получает методы родителя.

  2. Композиция — класс включает экземпляр другого класса как поле.

  3. Миксины — классы-примеси для добавления функциональности.

Длинный ответ

  1. Наследование

    class Parent:
        def method(self):
            print("Родительский метод")
    
    class Child(Parent):
        pass
    
    child = Child()
    child.method()  # "Родительский метод"
  2. Композиция

    class Engine:
        def start(self):
            print("Двигатель запущен")
    
    class Car:
        def __init__(self):
            self.engine = Engine()
    
        def start(self):
            self.engine.start()
    
    car = Car()
    car.start()  # "Двигатель запущен"
  3. Миксины (множественное наследование)

    class LogMixin:
        def log(self, message):
            print(f"Лог: {message}")
    
    class MyClass(LogMixin):
        def do_something(self):
            self.log("Действие выполнено")
    
    obj = MyClass()
    obj.do_something()  # "Лог: Действие выполнено"

Вывод:

  • Наследование — для отношения "является" (например, Dog — это Animal).

  • Композиция — для отношения "имеет" (например, Car имеет Engine).

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    1

  • Сложность:

    6

Навыки

  • Python

    Python

Ключевые слова

#inheritance

#composition

#mixin

#oop

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.