4 Sequenzdiagramm
Das Sequenzdiagramm zeigt die Interaktion von Objekten im zeitlichen Ablauf auf. Es sind somit mindesten 2 Objekte beteiligt
.
UML-Notation
(1) Instanziierung eines Objektes
class A: # Klasse A erzeugt selber ein Objekt der Klasse B. def __init__(self): # Erzeugung des Objektes vom Typ B im Konstruktor von A self._anObject = B() pass
(2) Selbstaufruf einer Methode mit Wertrückgabe
class A: # Klasse A ruft eine eigene Methode – hier mit einem Rückgabewert – auf @property def value(self): return self._value def doSomething(self): ..... v = self.value pass
(3) Aufruf einer Methode in einer anderen Klasse
class A: class B: # A ruft eine Methode der Klasse B auf. # B stellt eine Methode bereit def doSomething(self): def doIt(self): ..... pass self._anObject.doIt()
(4) Aufruf einer Methode mit Wertrückgabe
class A: class B: # A ruft Methode von B auf, # B stellt eine Methode bereit # die einen Wert liefert.e @property def doSomething(self): def text(self): ..... return aText txt = self._anObject.text pass
Objektzerstörung
Nicht mehr benutzte Objekte müssen aus dem Speicher entfernt werden, damit der belegte Speicherplatz wieder freigegeben werden kann.
Python führt eine garbage collection
. Diese ist besorgt, dass nicht mehr benutze Objekte aus dem Speicher entfernt werden.
class A: class B: .... # Destruktor definieren. Hier kann die Klasse # ordentlich beendet werden. del(self._anObject) def __del__(self): pass pass