Gesammelte Fragen zu SE2
2009-05-14 23:12
Fred
Ich habe ein paar Fragen per eMail erhalten und stelle meine Antworten mal zur öffentlichen Diskussion.
Aber ja, wenn Du in einer Unterklasse eine Methode überschreibst und trotzdem die Methode der Oberklasse aufrufen möchtest, musst Du das mit der super-Syntax machen.
Wenn Du eine Methode als final deklarierst, kannst Du sie in Subklassen nicht mehr ändern – ein Widerspruch zu dem obigen Versprechen.
Private Methoden sind in Subklassen unsichtbar und können daher auch nicht geändert werden – ebenfalls ein Widerspruch.
1. Wie kann man mit Eclipse Klassendiagramme zeigen?Keine Ahnung, einfach mal "eclipse Klassendiagramm" googeln?
2. Wenn es in der Superklasse ein paar Dinge von Bibliothek Java importiert wird, impotiert automatisch dann auch in der Subklasse, die ihre Superklasse (extends) erweitert?Kann man ja einfach ausprobieren. Scheint nicht der Fall zu sein.
3. Ist es noetig, ber der Sub-Testklassen Methode "SetUp()" auch "super.SetUp()" aufrufen?Vererbung bei Testklassen? Das habe ich noch nie gesehen. Warum willst Du das tun?
Aber ja, wenn Du in einer Unterklasse eine Methode überschreibst und trotzdem die Methode der Oberklasse aufrufen möchtest, musst Du das mit der super-Syntax machen.
4.abstract ist ein Versprechen, die Methode in allen konkreten Subklassen zu implementieren.
abstract public final String gibName()
abstract private String gibName()
beide nicht uebersetzbar? Warum?
Wenn Du eine Methode als final deklarierst, kannst Du sie in Subklassen nicht mehr ändern – ein Widerspruch zu dem obigen Versprechen.
Private Methoden sind in Subklassen unsichtbar und können daher auch nicht geändert werden – ebenfalls ein Widerspruch.