Java: как вы называете эту неоднозначность множественного наследования?
Вот пример, использующий множественное наследование интерфейса в Java, и есть проблема.
Обратите внимание, что я полностью знаю, почему существует проблема, и это не точка моего вопроса. Вопрос в том, как назвать эту конкретную неоднозначность наследования нескольких интерфейсов, если есть имя для нее.
Например, в C ++ неоднозначность, которая возникает, когда вы используете множественное наследование реализации и не можете определить, какой переопределенный метод использовать, называется «проблемой алмаза»:
http://en.wikipedia.org/wiki/Diamond_problem
Теперь еще раз, я знаю, что это не та же самая проблема здесь: это не главное. Дело в том, что имя было придумано в этом предыдущем случае.
И я хотел бы знать, существует ли название для проблемы, которую я собираюсь описать.
Вот пример другого вида множественного наследования, где один интерфейс наследует от двух других интерфейсов, которые имеют несовместимый тип возвращаемого метода:
interface A {
void a();
Integer c();
}
interface B {
void b();
Long c();
}
interface MI extends A, B {...}
(обратите внимание на множественное наследование интерфейса при работе, используя ключевое слово extends)
Вы не можете сделать это, потому что:
типы A и B несовместимы; оба определяют c (), но с несвязанным типом возврата
Было ли придумано имя для описания этой ситуации?