====== 2 Objekt ======
==== Definition ====
Ein Objekt ist eine im laufenden System konkret vorhandene und aktive (agierende) Einheit. Jedes Objekt ist ein Exemplar einer Klasse.\\
Ein Objekt zeichnet sich aus durch
- Eigenschaften (Attribute)
- Fähigkeiten (Operationen / Methoden)
- Zustand (momentane Werte aller Attribute)
==== Notation eines Objekts ====
{{:modul:m320:merkblaetter:lu01-merkblatt2-1.png?400|}}\\
Ein Objekt ist ein im Speicher vorhandenes Element. Dies wird in der UML durch __unterstreichen__ des Namens signalisiert.
==== Exemplarname ====
Eine Objekt-Referenz wird wie ein Attribut im Kontext einer anderen Klasse deklariert.
one_circle = None # deklariert aber noch kein Wert zugewiesen
==== Erzeugung ====
Zur Laufzeit muss ein Objekt erzeugt werden, bevor es zur Nutzung bereitsteht.
one_circle = Circle(10.0) # Kreis mit Radius 10.0 erzeugen.
==== Attribute und Attributwert====
Die Attribute sind – in diesem Moment, diesem Zustand – mit den entsprechenden
Werten zu setzen.
Das Setzen von Attributen erfolgt über den Konstruktor und/oder über die entsprechenden Operationen des Objekts.
one_circle = Circle(10.0) # Wert wird beim Erzeugen als Parameter geliefert
one_circle.center = [5, 15] # Wert wird über setter-Methode zugewiesen
==== Klasse und Objekt ====
{{:modul:m320:merkblaetter:lu01-merkblatt2-2.png?400|}}\\
Es können mehrere Objekte der gleichen Klasse erzeugt (instanziert) werden.
Ein Objekt muss nicht zwingend mit einem Exemplarnamen versehen sein.
Für eine Übersicht dürfen
* Attribute und Methoden bei der Klasse bzw.
* Attribute und Werte beim Objekt
weggelassen werden.
----
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] (c) René Probst