Hier ist ein Beispiel mit mehreren Schnittstellenvererbung in Java und es gibt ein Problem.Java: Wie nennt man diese Mehrfachvererbung Ambiguität?
Beachten Sie, dass ich völlig weiß, warum es ein Problem gibt, und das ist nicht der Punkt meiner Frage. Die Frage ist, wie Sie diese Multiple-Interface-Vererbungsambiguität benennen, wenn es einen Namen dafür gibt.
Zum Beispiel in C++, die Mehrdeutigkeit, die entsteht, wenn Sie mehrere Implementierungsvererbung verwenden und können nicht die überschriebene Methode bestimmen zu verwenden, wird das „Diamant-Problem“ bezeichnet:
http://en.wikipedia.org/wiki/Diamond_problem
nun wieder einmal, ich weiß, dass das hier nicht das gleiche Problem ist: darum geht es nicht. Der Punkt ist, dass in diesem vorherigen Fall ein Name geprägt wurde.
Und ich würde gerne wissen, ob ein Name für das Problem existiert, das ich beschreiben werde.
Hier ist ein Beispiel einer anderen Art von Mehrfachvererbung, wo eine Schnittstelle von zwei anderen Schnittstellen erbt, die einen inkompatible Methode Rückgabetyp haben:
interface A {
void a();
Integer c();
}
interface B {
void b();
Long c();
}
interface MI extends A, B {...}
(Hinweis Mehrfachvererbung-Schnittstelle bei der Arbeit des ‚‘ erstreckt Verwendung Schlüsselwort)
Sie können das nicht tun, denn:
Typen A und B sind nicht kompatibel; beide definieren c(), aber mit nicht verwandten Rückkehr Typ
hat einen Namen, um diese Situation zu beschreiben geprägt worden?
Was ist, wenn sie den gleichen Namen, Argumenttypen, Rückgabetypen, aber unterschiedliche inkompatible Semantik haben? Wäre dieser Fall in Ihrer Frage enthalten oder nicht? – curiousguy