История изменений
Исправление crutch_master, (текущая версия) :
так и не понял, что значит «надо чтобы в X делалось A,D»
В класс X надо добавить код, который будет работать для классов E,F,G но не будет работать для классов H,J,K. Сами эти классы в свою очередь наследуются от Y или Z.
вы можете переопределить метод на любом уровне и сделав его пустым или таким как вам требуется
И как будет работать код из Y или Z, если я его полностью переопределю?
что впрочем не мешает выстраивать 2-3х уровневое наследование
Оно уже на 3-м уровне не работает.
и решать этим 80% потребностей переиспользования кода.
И что делать с остальными 20% кода? Пастить?
множественное наследование
Даже если есть, то что? Таким же образом есть методы в X которые должны работать F (наследование x->y->z->f) и не должны в Е. В общем случае всё выродится к тому, что у тебя будут классы из одного метода, где-то отдельно структура и ты будешь всё это множественно сношать, а твой код будет на 80% состоять из объявлений классов.
Исходная версия crutch_master, :
так и не понял, что значит «надо чтобы в X делалось A,D»
В класс X надо добавить код, который будет работать для классов E,F,G но не будет работать для классов H,J,K. Сами эти классы в свою очередь наследуются от Y или Z.
вы можете переопределить метод на любом уровне и сделав его пустым или таким как вам требуется
И как будет работать код из Y или Z, если я его полностью переопределю?
что впрочем не мешает выстраивать 2-3х уровневое наследование
Оно уже на 3-м уровне не работает.
и решать этим 80% потребностей переиспользования кода.
И что делать с остальными 20% кода? Пастить?
множественное наследование
Даже если есть, то что? Таким же образом есть методы в X которые должны работать F (наследование x->y->z->f) и не должны в Е. В общем случае всё выродится к тому, что у тебя будут классы из одного метода, где-то отдельно структура и ты будешь всё это множественно сношать.