Klar. Das geht. Nur warum ist
if fuhrpark.eingeteiltesfahrzeug.motor.kraftoffart = diesel then einkaufsabteilung.dieselbestellen;
schlechter Stil?
Zitat:
Das hat aber nichts mit Interfaces und Spring zu tun. Man kann technisch auf Fahrzeug.Motor.Kraftstoffart zugreifen, egal ob Motor vorliegend ein Objekt oder Interface ist.
Wichtig ist hier natürlich, dass bei jedem Zugriff auf Motor.Kraftstoffart ein Motor zugewiesen ist. Ist das nicht gesichert, muss man den Zugriff natürlich in einer Eigenschaft oder Funktion kapseln.
Aber wie der Motor erstellt und und in das Fahrzeug eingebaut wird, ist dabei völlig egal.
Man kann es sogar noch weiter treiben: Beim Tanken ist es völlig egal, ob überhaupt ein Motor eingebaut ist. Damit ist klar: Ein "Durchgreifen" auf Eigenschaften und Methoden sollte vermieden werden.