Benutzerdefinierte Typen Flashcards
Referenzen
° Verbindung zwischen Klient und Dienstleister
° Ergebnis der Erzeugung des Dienstleister-Objekts wird eine Referenz geliefert
° Adresse des neu erzeugten Objektes
° wird als Wert behandelt, der einer Referenzvariable im Klienten-Objekt zugewiesen werden kann
° Referenztypen sind Voraussetzung für Objektgeflechte
° Alle Objekte in Java werden über Referenzen verwendet
Referenzvariable
Unterscheidung zwischen:
- Ihrer Belegung mit einer Referenz auf ein Objekt
- das referenzierte Objekt
° zusätzliche Verwendung von Verweis (im Gegensatz zu Wertvariablen)
° haben einen Typ: Referenztyp
° Jede Klasse in Java definiert einen Referenztypen
° bei der Zuweisung einer Referenzvariable wird die Referenz kopiert nicht das referenzierte Objekt!!
° Gleichheitstests auf Referenzvariablen überprüft die Gleichheit der Referenzen mit == (nicht das referenzierte Objekt)
Referenztypen
° Legen die Menge der Elemente und die möglichen Operationen auf den Elementen des Typs fest
° Elemente eines Referenztyps sind die Exemplare der Klasse
° Compiler erkennt bei der Übersetzung die zulässigen Operationen
Öffentliche Methoden
° .. einer Klasse definieren die Schnittstelle ihrer Exemplare
Wert null
° Referenzvariablen können diesen Wert haben
- > zeigt auf kein Objekt
- > Exemplarvariablen werden automatisch auf diesen Wert initialisiert
Methodenaufruf
° Zugriff auf die Methode eines referenzierten Objekts über Punktnotation
NullPointerException
° Überprüfung auf einen Wert ungleich null
° Wenn Variable null enthält wird die Auswertung gestoppt
Erhalt von Referenzen (Kleintensicht)
- Klient-Objekt erzeugt das Dienstleister-Objekt innerhalb der Methode selbst
- Erhält die Referenz auf dem Dienstleister unmittelbar als Parameter der Methode
- hat bei seiner eigenen Erzeugung oder bei vorigen Methodenaufruf eine Referenz erhalten, die er in einem Feld abgelegt hat; sie sthet ihm dann in allen Methoden zur Verfügung
Allgemeines Objektmodell
° Objekte enthalten die in ihrer erzeugenden Klasse festgelegte Struktur von Feldern
° Jeweilige Belegung der Felder mit Werten und Referenzen definiert den Zustand eines Objekts
° Werte: Auswahl der Werttypen in Java fest vorgegeben
° Referenzen: zeigen auf andere Objekte (Objektgeflechte) oder zeigen ins leere (sind null)
Alias-Problem
° Zwei Referenzvariablen in verschiedenen Objekten können auf dasselbe Objekt verweisen
° Lokal ist oft nicht entscheidbar, ob sich Veränderungen am Zustand eines referenzierten Objekts ergeben haben
-> Starke Verbindungen mit Referenzen in einem Softwaresystem erschweren die Wertbarkeit und die formale Betrachtungen zur Korrektheit