Normal
Das wäre alles kein Problem, ist jetzt ja auch nicht anders:[code=Java]class Base { protected int value = 5;}public class Extension extends Base { protected int value = 10;}[/code]In einem Extension-Objekt gilt nun this.value == 10 und super.value == 5.Natürlich wird Mehrfachvererbung komplex; das ist ja genau der Punkt: ohne default-Methoden gab es keine Mehrfachvererbung von Implementierungen. Mit den default-Methoden hat man sich nun die Komplexität sowieso schon ins Boot geholt, dann hätte man es gleich "richtig" machen können.Interessant wäre das doch vor allem, wenn es sich um wirklich unterschiedliche Klassen handelt. Dann gibt es das Problem von Konflikten sowieso nicht (bzw. wenn, dann nur zufällig).NB: das soll kein "pro Mehrfachvererbung" werden.
Das wäre alles kein Problem, ist jetzt ja auch nicht anders:
[code=Java]
class Base {
protected int value = 5;
}
public class Extension extends Base {
protected int value = 10;
[/code]
In einem Extension-Objekt gilt nun this.value == 10 und super.value == 5.
Natürlich wird Mehrfachvererbung komplex; das ist ja genau der Punkt: ohne default-Methoden gab es keine Mehrfachvererbung von Implementierungen. Mit den default-Methoden hat man sich nun die Komplexität sowieso schon ins Boot geholt, dann hätte man es gleich "richtig" machen können.
Interessant wäre das doch vor allem, wenn es sich um wirklich unterschiedliche Klassen handelt. Dann gibt es das Problem von Konflikten sowieso nicht (bzw. wenn, dann nur zufällig).
NB: das soll kein "pro Mehrfachvererbung" werden.