Hallo zusammen,
ich lese mich derzeit verstärkt in Java ein und bin nun auf das Diamant-Problem gestoßen. In Java wird das mittels Interfaces umgangen. Somit MUSS in der Unterklasse genau spezifiziert werden, was eine Methode kann/welchen Wert eine Variable hat. WAS ABER, wenn folgendes Szenario auftritt:
1. Unterklasse erbt eine Methode, z.b. testen() und eine Variable "testErgebnis")
2. Unterklasse benutzt ein Interface mit der methode testen() und einer Variable names "testErgebnis"?
Habe ich dann nicht genau das Problem, dass durch Interfaces gelöst werden soll? Nämlich das Diamant-Problem, bzw. keine klare Regel, auf welche Variable/Methode zugegriffen wird (die von der Superklasse, oder die, vom Interface?) Oder wird in so einem Fall ausnahmslos die Member der Superklasse benutzt (da diese evtl. schon implementiert sind und die vom Interface mit Sicherheit abstrakt sind)?
Ich hoffe, ihr versteht was ich meine
ich lese mich derzeit verstärkt in Java ein und bin nun auf das Diamant-Problem gestoßen. In Java wird das mittels Interfaces umgangen. Somit MUSS in der Unterklasse genau spezifiziert werden, was eine Methode kann/welchen Wert eine Variable hat. WAS ABER, wenn folgendes Szenario auftritt:
1. Unterklasse erbt eine Methode, z.b. testen() und eine Variable "testErgebnis")
2. Unterklasse benutzt ein Interface mit der methode testen() und einer Variable names "testErgebnis"?
Habe ich dann nicht genau das Problem, dass durch Interfaces gelöst werden soll? Nämlich das Diamant-Problem, bzw. keine klare Regel, auf welche Variable/Methode zugegriffen wird (die von der Superklasse, oder die, vom Interface?) Oder wird in so einem Fall ausnahmslos die Member der Superklasse benutzt (da diese evtl. schon implementiert sind und die vom Interface mit Sicherheit abstrakt sind)?
Ich hoffe, ihr versteht was ich meine