Множественное Наследование

Sdílet
Vložit
  • čas přidán 21. 08. 2024
  • Наследование - это что-то, что может упростить вашу работу. К несчастью, когда люди начинают создавать классы наследующие больше одного суперскласса, то у них могут возникнуть определённые проблемы.
    Об этих проблемах, и пойдёт речь здесь.

Komentáře • 19

  • @helga_volt
    @helga_volt Před 2 měsíci

    Володя - ты космос!

  • @MrOverlord243
    @MrOverlord243 Před 6 lety +12

    В сишарпе все просто, там запрещено множественное наследование, вот и решение проблемы

    • @davidblbulyan3077
      @davidblbulyan3077 Před rokem

      В Java тоже нельзя множественное наследование, однако это не решение проблемы

  • @valshin
    @valshin Před 9 lety +4

    Спасибо за отличный урок, хотелось бы поподробнее разобраться, как на "железном" уровне происходит создание объекта, выделение памяти для него, а в частности - почему компилятор не может разобраться при множественном наследовании и не борется с дублированием переменных. Просто сразу приходит в голову - ну так пусть в случае колизии используют одну общую переменную). Также интересно как же все-таки достучаться до нужного метода/переменной в таких случаях.

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +4

      Валерий Шинкаренко Видео про это уже записано. Подождите немного.

  • @user-bd3ij4op5k
    @user-bd3ij4op5k Před 7 lety +1

    Все супер ,но я все ждал реальный пример. Например как правильно обойти замыкание и тд.

  • @pavelbushmakin8126
    @pavelbushmakin8126 Před 9 lety +1

    Также проблема в ромбе возникает при переопределении методов базового класса одним и более дочерними. В Ruby проблема множественного наследования решается при помощи примесей(mixins)

  • @404Negative
    @404Negative Před 6 lety +6

    у меня все классы получаются Г

  • @thomasmorgan9043
    @thomasmorgan9043 Před 9 lety

    Для ромбовидного наследования нужно использовать "виртуальное наследование", а насчет другого, то вроде по namespace можно и Д классу и к А классу.
    Сделайте видео еще про vtable, тема тоже популярная.

    • @VladimirMozhenkov
      @VladimirMozhenkov  Před 9 lety +5

      Thomas Morgan Ещё не сделано, но уже записал видео про позднее связывание (динамическую типизацию). Про виртуальные таблицы тоже запишу.

  • @user-lz1yb6qk3f
    @user-lz1yb6qk3f Před 3 lety

    В плюсах класс iostream использует ромбовидное наследование.

  • @dsalodki
    @dsalodki Před 4 lety

    C разрешает мн. наследование? разве это не функциональный язык, без ООП?

    • @user-lz1yb6qk3f
      @user-lz1yb6qk3f Před 3 lety

      Вы что-то путаете. Функциональные языки - это lisp, Haskell, Erlang. Они используют лямбда-исчисление как математическую основу своей работы. Да и сказать, что в C нет ООП - это слукавить. В C есть структуры, которые позволяют реализовать и наследование, и полиморфизм, и бог знает что ещё. Просто это не так удобно, как с классами в плюсах.

  • @sergeylobanov4245
    @sergeylobanov4245 Před 4 lety

    класс Г

  • @Skorobogatow
    @Skorobogatow Před 7 lety

    Каким образом можно реализовать множественное наследование в Си, если там нет классов?

    • @maxlich9139
      @maxlich9139 Před 7 lety +1

      а если там нет классов, если ли там ООП?

    • @C0oo1D
      @C0oo1D Před 5 lety

      никаким, или писать на плюсах

  • @Magpie2123
    @Magpie2123 Před 3 lety

    Учите Python в нем нет таких проблем!

  • @wow_wow
    @wow_wow Před 8 lety +2

    Володя из ПТУ что ли?