dimanche 1 mars 2015

Polymorphie Aufgaben

Hallo Leute,



ich versuche zurzeit diese Aufgabe zu lösen (Siehe Anhang) allerdings komme ich an einer Stelle nicht weiter



Also erstmal erklär ich wie ich das mache. Nehmen wir dazu die dritte Aufgabe:




Code:



ff.gg(ff);


Ich geh da so vor, dass ich mir erstmal ff angucke. Da wurde ein Mitte in ein Oben abgespeichert. Ok das heisst für mich guck in die Mitte methode rein wo die Methode auch ausgeführt werden soll.



dann methoden name gg ist ja identisch dass brauch ich net beachten.



als letztes den Parameter angucken (ff) dabei beachte ich nun nicht die rechte Seite der Deklaration, sondern die Linke also Oben ist hier wichtig.



Also gehe ich zusammenfassend in Mitte rein und führe die Methode mit dem "Oben" aus. Die Ausgabe lautet also "L". So weit so gut





Beim nächsten Befehl funktioniert das allerdings nicht :(




Code:



ff.gg(uu);




Also gehe ich wie gerade vor ich guck mir die Deklaration von ff an aber die rechte Seite.



Ein Mitte Objekt wurde in ein Oben Objekt abgespeichert. Das Mitte ist wichtig, dort wird also die Methode ausgeführt.



Und Parameter wie gesagt die linke Seite beachten wobei hier beide Unten Objekte sind.





Zusammenfassend in der Mitte Klasse den Unten Parameter ausführen. Also "M".



Allerdings kommt da nicht M raus sondern B ich versteh das einfach nicht. Wieso geht der in die Klasse Oben und führt dort den Mitte Parameter aus???









java.jpg


Angehängte Grafiken







Polymorphie Aufgaben

0 commentaires:

Enregistrer un commentaire