Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: как в python добавить class к другому class

  1. как в python добавить class к другому class

    Народ, привет! Пытаюсь разобраться с тем, как в Python добавить class к другому class. Вот фишка: у меня два класса, и я хочу, чтобы один из них унаследовал методы и атрибуты другого. Короче, нужно понять, как это правильно сделать, чтобы и код не полетел, и чтобы всё работало чётко, как надо. Кто знает, как это сделать правильно и может объяснить на примере? Буду очень признателен! И по возможности с кодом примеры дайте, а то что-то не могу допетрить.



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Ну смотри, если тебе надо сделать класс-наследника, то можно использовать наследование. В питоне это реалезуется достаточно просто. Вот пример:
    Программный код:
    class ParentClass:
        
    def __init__(selfvalue):
            
    self.value value

        def show_value
    (self):
            print(
    f'Value: {self.value}')

    class 
    ChildClass(ParentClass):
        
    def __init__(selfvalueextra):
            
    super().__init__(value)
            
    self.extra extra

        def show_extra
    (self):
            print(
    f'Extra: {self.extra}')

    parent ParentClass(10)
    child ChildClass(20'hello')

    parent.show_value()    # Выведет 'Value: 10'
    child.show_value()     # Выведет 'Value: 20'
    child.show_extra()     # Выведет 'Extra: hello' 
    Видишь, как круто работает! Унаследовали всё что нужно и добавили что хотели.

  4. Цитата Сообщение от Eгор
    Ну смотри, если тебе надо сделать класс-наследника, то можно использовать наследование. В питоне это реалезуется достаточно просто. Вот пример:
    Программный код:
    class ParentClass:
        
    def __init__(selfvalue):
            
    self.value value

        def show_value
    (self):
            print(
    f'Value: {self.value}')

    class 
    ChildClass(ParentClass):
        
    def __init__(selfvalueextra):
            
    super().__init__(value)
            
    self.extra extra

        def show_extra
    (self):
            print(
    f'Extra: {self.extra}')

    parent ParentClass(10)
    child ChildClass(20'hello')

    parent.show_value()    # Выведет 'Value: 10'
    child.show_value()     # Выведет 'Value: 20'
    child.show_extra()     # Выведет 'Extra: hello' 
    Видишь, как круто работает! Унаследовали всё что нужно и добавили что хотели.
    Зачётный пример, прям то что надо. Всё чётчитко и понятно объяснил, сразу видно – профи. ?.

  5. Если нужно более сложное объединение классов, посмотри в сторону миксинов. Это позволяет переиспользовать части классов, не упрощаясь до простого наследования. Типа многоразовых компонентов.

  6. Цитата Сообщение от Леся
    Если нужно более сложное объединение классов, посмотри в сторону миксинов. Это позволяет переиспользовать части классов, не упрощаясь до простого наследования. Типа многоразовых компонентов.
    Миксины – тема, сам как-то юзал. Главное понять, чо и как намешать ?.

  7. Можно ещё использовать композицию, когда один класс содержит экземпляр другого класса. Тоже норм вариант, особенно если наследование не подходит.

  8. Цитата Сообщение от Сонечка
    Можно ещё использовать композицию, когда один класс содержит экземпляр другого класса. Тоже норм вариант, особенно если наследование не подходит.
    Согласен, композиция иногда даже лучше работает. Гибче, что ли.

  9. Ну и ещё вариант – просто импортировать нужные методы функциями и не париться с наследованием. Лол. Но это так, если совсем лень заморачиваться.

  10. Цитата Сообщение от Раиса
    Ну и ещё вариант – просто импортировать нужные методы функциями и не париться с наследованием. Лол. Но это так, если совсем лень заморачиваться.
    Импорт как решение всех проблем? Ну ты даёшь, чувак ?. Но да, иногда норм тема.

Страница 1 из 2 12 ПоследняяПоследняя