Запитання з тегом «multiple-inheritance»

9
Чи є якась "реальна" причина, коли багаторазове спадкування ненавидять?
Мені завжди подобалася думка про підтримку декількох успадкованих мов. Найчастіше, хоча це навмисно пропало, і передбачувана "заміна" - це інтерфейси. Інтерфейси просто не охоплюють все одне й те саме багаторазове успадкування, і це обмеження час від часу може призвести до збільшення кодового коду. Єдина основна причина, про яку я коли-небудь …

1
Наскільки міксини або риси краще, ніж звичайне багаторазове успадкування?
У C ++ є багаторазове успадкування, багато мовних конструкцій забороняють це як небезпечне. Але деякі мови, такі як Ruby і PHP, використовують дивний синтаксис, щоб зробити те ж саме, і називають його mixins або traits. Я багато разів чув, що міксини / риси складніше зловживати, ніж звичайне багаторазове успадкування. Що …

6
Чи багатократне успадкування порушує принцип єдиної відповідальності?
Якщо у вас є клас, який успадковує два різних класи, чи це не означає, що ваш підклас автоматично робить (принаймні) 2 речі, по одному з кожного надкласу? Я вважаю, що немає різниці, якщо у вас є спадковість декількох інтерфейсів. Редагування: Щоб зрозуміти, я вважаю, що якщо підкласифікація декількох класів порушує …

2
Як риси Scala уникають "алмазної помилки"?
(Примітка. Я використав "помилку" замість "проблема" в заголовку з очевидних причин ..;)). Я почитав основні риси в Scala. Вони схожі на інтерфейси Java або C #, але вони дозволяють реалізувати метод за замовчуванням. Мені було цікаво: чи не може це спричинити випадок "алмазної проблеми", саме тому багато мов у першу …

5
Правильне рішення для багаторазового спадкування на Java (Android)
У мене є концептуальна проблема з правильною реалізацією коду, який, здається, вимагає багаторазового успадкування, це не буде проблемою для багатьох мов OO, але оскільки проект призначений для Android, не існує такого поняття, як кілька extends. У мене є купа діяльності, отримана від різних базових класів, таких як простий Activity, TabActivity, …

7
Кілька випадків використання спадщини
Java ухиляється від багаторазового успадкування, виходячи з того, що це заперечує ціль дизайну - спрощення мови . Цікаво, чи Java (зі своєю екосистемою) справді "проста". Python не є складним і має багаторазове успадкування. Отже, не будучи занадто суб'єктивним, моє питання ... Назвіть типові схеми проблем, які виграють від коду, призначеного …

2
Як C ++ обробляє багаторазове успадкування спільним спільним предком?
Я не хлопець С ++, але я змушений думати про це. Чому можливе багатократне успадкування в C ++, а не в C #? (Я знаю проблему з алмазами , але це не про що я тут прошу). Як C ++ вирішує неоднозначність ідентичних підписів методів, успадкованих від декількох базових класів? …

4
Паралельні ієрархії - частково однакові, частково різні
Є дуже багато подібних питань 1 ,2 ,3 ,4 , але в цьому питанні це не так, і рішення не здаються оптимальними. Це загальне питання про ООП, припускаючи, що наявні поліморфізм, генерики та міксини. Фактична мова, якою слід скористатись, є OOP Javascript (Typescript), але це та сама проблема в Java …

4
Альтернативи багатократному успадкуванню для моєї архітектури (NPC в грі стратегії в реальному часі)?
Кодування не так складно на самому справі . Важкою частиною є написання коду, який має сенс, читабельний і зрозумілий. Тому я хочу стати кращим розробником та створити якусь солідну архітектуру. Тому я хочу створити архітектуру для NPC у відеоіграх. Це стратегія в реальному часі, як Starcraft, Age of Empires, Command …

1
Використання порядку вирішення методу Python для введення залежності - це погано?
Я спостерігав, як Реймонд Хеттінгер говорив про "Супер вважається Супер" і дізнався трохи про MRO Python (Order Resolution Order), який детерміновано лінеаризує "батьківські" класи. Ми можемо використовувати це для наших переваг, як у наведеному нижче коді, щоб зробити ін'єкцію залежності. Тому зараз, природно, я хочу використовувати superдля всього! У наведеному …

2
Чи є спадщина Пітона "спадковим" стилем успадкування чи композиційним стилем?
З огляду на те, що Python дозволяє отримати багаторазове успадкування, як виглядає ідіоматичне успадкування в Python? У мовах з одинарним успадкуванням, як-от Java, успадкування буде використовуватися, коли можна сказати, що один об'єкт "є-а" іншого об'єкта, і ви хочете поділити код між об'єктами (від батьківського об'єкта до дочірнього об'єкта). Наприклад, ви …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.