



Next: 5.2 Vererbung
Up: 5. Klassen
Previous: 5. Klassen
Contents
Index
Um den vielfältigen Begrifsswirrwarr ein wenig zu ordnen, noch ein
paar Erklärungen in einer Übersicht:
- Atrribute heissen die Datenobjekte einer
Klasse oder einer Instanz.
- Methoden heissen die Funktionen einer Instanz
oder einer Klasse.
- Instanzen sind Abbilder einer Klasse, also
»echte« Objekte, die Attribute und Methoden enthalten. Sowohl
Attribute als auch Methoden müssen qualifiziert aufgerufen
werden, das heisst in der Form instanzname.attributname bzw.
instanzname.methodenname.
- Klassen sind quasi die Schablonen für Instanzen.
Stellen Sie sich eine Klasse beispielsweise als einen Stempel vor,
so sind Instanzen die mit Hilfe von Stempelfarbe erzeugten Abbilder
des Stempels. Bedenken Sie aber, dass auch eine Klasse ein Objekt
darstellt. Der Klassenname darf nicht mit den Namen irgendwelcher
Instanzen verwechselt werden. Das heisst, es können auch die Klassen
selbst mit ihrem Namen aufgerufen werden, wenn es denn notwendig ist.
Bei den Methoden wird zwischen gebundenen und ungebundenen
unterschieden. Ein Beispiel:
-
- class Spam:
def drucke(self,message):
print message
liefert unter dem Namen Spam eine Klasse, also den »Stempel«.
Mit
-
- object=Spam()
wird eine Instanz erzeugt. Die Methode
-
- object.drucke('Hallo')
ist an diese Instanz gebunden. Obwohl die Druckmethode eigentlich
zwei Parameter besitzt, muss nur ein Attribut übergeben werden,
da self bereits belegt ist.
Es existiert aber wegen der vorangegangenen Definition der Klasse
auch die Methode Spam.drucke. Bedenken Sie, dass hier beim
qualifizierten Aufruf der Klassenname, und nicht der Instanzname,
angegeben wird. Die Methode ist in dem Sinne ungebunden, weil
noch nicht bekannt ist, auf welches Objekt sie wirkt. Daher muss bei
einem Aufruf wie
-
- Spam.drucke(object,'Hallo')
der self-Parameter durch den Namen einer existierenden Instanz
belegt werden.




Next: 5.2 Vererbung
Up: 5. Klassen
Previous: 5. Klassen
Contents
Index
Heiko Schroeder
2003-03-19