Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
| modul:archiv:m320:learningunits:lu02:theorie:lu2-kapitel_2 [2026/08/30 14:06] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | modul:archiv:m320:learningunits:lu02:theorie:lu2-kapitel_2 [2026/08/30 14:06] (aktuell) – ↷ Seite von modul:m320:learningunits:lu02:theorie:lu2-kapitel_2 nach modul:archiv:m320:learningunits:lu02:theorie:lu2-kapitel_2 verschoben msuter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| + | ==== 2. Gleichheit und Identität ==== | ||
| + | In der objektorientierten Programmierung muss klar unterschieden werden, ob Objektreferenzen | ||
| + | * gleich oder | ||
| + | * identisch | ||
| + | sind, wenn sie auf Objekte des gleichen Typs (der gleichen Klasse) verweisen. | ||
| + | === Gleichheit === | ||
| + | Objektreferenzen werden dann als gleich betrachtet, wenn sie auf Objekte vom gleichen Typ (der gleichen Klasse) verweisen.\\ | ||
| + | Die Gleichheit wird mit der Funktion '' | ||
| + | Unter der Annahme, dass eine Klasse '' | ||
| + | <code python> | ||
| + | if __name__ == " | ||
| + | obj1 = Point(10, | ||
| + | obj2 = Point(5,5) | ||
| + | obj3 = obj1 | ||
| + | # | ||
| + | if isinstance(obj1, | ||
| + | # hier kann nun Code folgen, der das Objekt nutzt | ||
| + | else: | ||
| + | # hier könnte eine Fehlermeldung folgen | ||
| + | </ | ||
| + | Da '' | ||
| + | |||
| + | === Identität === | ||
| + | Objektreferenzen werden dann als identisch betrachtet, wenn sie auf ein und das selbe Objekt verweisen.\\ | ||
| + | Die Identität einer Referenz wird über den Operator '' | ||
| + | |||
| + | <code python> | ||
| + | if ob1 is obj2: | ||
| + | # bei Identität von obj1 und obj2 wird dieser Code ausgeführt | ||
| + | else: | ||
| + | print(' | ||
| + | #-- | ||
| + | if obj1 is obj3: | ||
| + | print(' | ||
| + | else: | ||
| + | # sind obj1 und obj3 nicht identisch, wird dieser Code ausgeführt | ||
| + | </ | ||
| + | Der erste Vergleich liefert '' | ||
| + | Beim zweiten Vergleich wird '' | ||
| + | |||
| + | ---- | ||
| + | [[https:// | ||