[Python-de] Nochmal super()

Martin v. Loewis martin at v.loewis.de
Thu Sep 12 00:54:02 EDT 2002


Thomas Fanslau <tfanslau at gmx.de> writes:

> Sicherlich kann man jetzt argumentieren, das das hätte ganz anders
> gelöst werden müssen und das der Programmierer selber schuld
> ist. Würde ich auch für mich persönlich zustimmen. Aber in einem Team
> mit, sagen wir mal, gemischten Qualifikationen, unterschiedlichen
> Arbeitsstilen, unterschiedlichen Zeitvorgaben kann ich in der
> Integration der Module nicht damit leben, das solche Seiteneffekte
> auftreten ...

Das ist aber eigentlich genau der Kern kooperativer Methoden: *Jede*
von ihnen muss super aufrufen, unter allen Umständen. Das lässt sich
auch relativ einfach testen: Am Ende muss der Aufruf in der letzten
Basisklasse ankommen.

Jede Klasse kann *modular*, für sich allein entscheiden, ob irgendwas
zu tun ist, und wenn ja, was. Es gibt auch die Freiheit, die Position
des Super-Aufrufs festzulegen (etwa: vor oder nach den eigenen
Aktionen). Die Klasse kann aber keine Entscheidungen etwa für
Basisklassen treffen - das müssen die Basisklassen selbst tun.

Ciao,
Martin




More information about the Python-de mailing list