Вопросы с тегом «multiple-inheritance»

9
Есть ли «реальная» причина, по которой множественное наследование ненавидят?
Мне всегда нравилась идея поддержки множественного наследования в языке. Чаще всего это преднамеренно, и предполагаемая «замена» - это интерфейсы. Интерфейсы просто не охватывают все то же основание, что и множественное наследование, и это ограничение может иногда приводить к дополнительному шаблонному коду. Единственная основная причина, которую я когда-либо слышал для этого, …

1
Как миксины или признаки лучше, чем обычное множественное наследование?
C ++ имеет простое множественное наследование, многие языковые схемы запрещают его как опасное. Но некоторые языки, такие как Ruby и PHP, используют странный синтаксис, чтобы делать то же самое и называть это миксинами или чертами. Я много раз слышал, что миксином / признаками сложнее злоупотреблять, чем простым множественным наследованием. Что …

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

2
Как Traits в Scala позволяют избежать «ошибки алмаза»?
(Примечание: я использовал «error» вместо «problem» в названии по понятным причинам ..;)). Я немного изучил черты характера в Scala. Они похожи на интерфейсы в Java или C #, но допускают реализацию метода по умолчанию. Мне было интересно: не может ли это привести к «проблеме алмазов», поэтому многие языки избегают множественного …

5
Правильный обходной путь для множественного наследования в Java (Android)
У меня есть концептуальная проблема с правильной реализацией кода, которая, по-видимому, требует множественного наследования, что не было бы проблемой во многих языках ОО, но поскольку проект для Android, такого понятия, как множественное, не существует extends. У меня есть куча деятельности, полученная от различных базовых классов, таких как простой Activity, TabActivity, …

7
Варианты использования множественного наследования
Java пропускает множественное наследование на том основании, что она устраняет цель разработки - сделать язык простым . Интересно, действительно ли Java (с ее эко-системой) "проста"? Python не сложен и имеет множественное наследование. Итак, не будучи слишком субъективным, мой вопрос ... Каковы типичные шаблоны проблем, которые выигрывают от кода, разработанного для …

2
Как C ++ обрабатывает множественное наследование с общим общим предком?
Я не парень C ++, но я вынужден думать об этом. Почему множественное наследование возможно в C ++, но не в C #? (Я знаю о проблеме алмазов , но я не об этом здесь спрашиваю). Как C ++ разрешает неоднозначность идентичных сигнатур методов, унаследованных от нескольких базовых классов? И …

4
Параллельные иерархии - частично одинаковые, частично разные
Есть довольно много подобных вопросов там 1 ,2 ,3 ,4 , но в этом вопросе, похоже, не совсем так, и решения не кажутся оптимальными. Это общий вопрос ООП, предполагая, что полиморфизм, дженерики и миксины доступны. Фактический язык, который нужно использовать - это OOP Javascript (Typescript), но это та же проблема …

4
Альтернативы множественному наследованию для моей архитектуры (NPC в стратегии в реальном времени)?
Кодирование на самом деле не так сложно . Сложная часть заключается в написании кода, который имеет смысл, читабелен и понятен. Поэтому я хочу найти лучшего разработчика и создать надежную архитектуру. Поэтому я хочу создать архитектуру для неигровых персонажей в видеоигре. Это стратегия в реальном времени, такая как Starcraft, Age of …

1
Использование порядка разрешения методов Python для внедрения зависимостей - это плохо?
Я наблюдал за речью Рэймонда Хеттингера о Pycon «Супер рассмотренный супер» и немного узнал о MRO (порядок разрешения методов) Python, который линеаризует классы «родительские» классы детерминистическим способом. Мы можем использовать это в наших интересах, как в приведенном ниже коде, для внедрения зависимостей. Так что теперь, естественно, я хочу использовать superдля …

2
Является ли наследование Python стилем наследования «как есть» или композиционным стилем?
Учитывая, что Python допускает множественное наследование, как выглядит идиоматическое наследование в Python? В языках с единичным наследованием, таких как Java, наследование будет использоваться, когда вы можете сказать, что один объект «a-a» другого объекта и вы хотите разделить код между объектами (от родительского объекта до дочернего объекта). Например, вы можете сказать, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.