OO Frage bzgl. super/init/new usw. in Wrapperklasse.

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
BlackJack

@MagBen: Das können war eher als dürfen gemeint. Ja, in *Deinem* Beispiel darf man das, aber eben nicht bei jeder Vererbungshierarchie ohne Gefahr zu laufen dass man Methoden ”weiter oben” mehrfach aufruft. In sofern: Man kann die nicht einfach aufrufen und davon ausgehen dass da in jedem Fall das Richtige passiert. *Das* gilt aber eigentlich auch nur wenn man mit Mehrfachvererbung anfängt und auch dann nur wenn man nicht nur eine ”Haupt”-Basisklasse verwendet und ansonsten nur ”Mixin”-Basisklassen. Und das ganze, abgesehen von `object` ganz oben, ohne diamantförmige Vererbung. Oh, und wenn man `super()` verwendet, dann muss man auch in einer Klasse ganz oben, die nur von `object` erbt auch explizit mit `super()` die Methode auf `object` aufrufen. An der Stelle bin ich mir gerade nicht mehr so ganz sicher das man die `__init__()` aus dem ersten Beispiel tatsächlich weglassen darf!? Dieser ganze `super()`-Kram und die MRO ist superscheisse. Mir jedenfalls zu kompliziert.
Antworten