Aufbau von Klassendefinitionen Flashcards
Erste Klassendefinition
° Java-Programm besteht aus Textdateien
° Jede Textdatei beschreibt eine Klasse
° Klassendefinition ist die textuelle Beschreibung einer Klasse
° Klassendefinitionen werden mit einem Editor bearbeitet
Merkmale aus der ersten Klasse
° Java-Programme bestehen aus Klassen
° Klasse definiert eine Methode
° Methode erhäkt einen Parameter
° Keinen Rückgabewert
° Im Rumpf der Methode wird ein Wert einem Zustandsfeld zugewiesen
° Feld muss deklariert werden
° Alternativ nennen wir die Felder in einer Klassendefinition auch Exemplarvariablen
Abgleich mit den Prinzipien der Objektorientierung
° Verhalten eines Objekts ist durch seine angebotenen Dienstleistungen (Methoden) bestimmt
° public: für Klienten aufrufbar
° private: vor Externem Zugriff geschützt
° Zustandsfelder sind als interne Strukturen eines Objekts gekapselt
Klassenkopf
° spezifiziert den Namen der Klasse und beschreibt mit dem Schnittstellenkommentar die Aufgabe der Klasse
Klassenrumpf
° beinhaltet Zustandsfelder, Konstruktoren und Methoden, die die Zuständigkeiten der Klasse realisieren
Klassendefinition mit Standardkonstruktor
.
Klassendefinition mit explizitem Konstruktor
.
Objekt erzeugen
° Objekte werden zur Laufzet erzeugt
° Schlüsselwort new
Konstruktoraufruf und Konstruktor
° Konstruktoraufruf (in Java mit new) bewirkt zwei Sachen:
- En neues Objekt der genannten Klasse wird erzeugt
- Bei diesem Objekt wird der angegebene Konstruktor ausgeführt; ein Konstruktor initialisiert ein neu erzeugtes Objekt
Methoden aufrufen
° richtet sich an ein bestimmtes Objekt, den Adressaten des Aufrufs
° Adressat ist entweder explizit angegeben oder es wird eine Methode des aktuellen Objektes aufgerufen
° gerufene Methode ist üblicherweise Teil der Schnittstelle des gerufenen Objektes
Punktnotation
° Methoden eines Objekts werden in vielen objektorientierten Sprachen mit der Punktnotation aufgerufen
° wand.vertikalBewegen(80)
Methodenköpfe
° Klasse spezifizieren mit den Knöpfen ihrer öffentlichen Methoden Dienstleistungen
° Legen fest, wie die Zustände der Objekte sondiert oder verändert werden
° Öffentlichen Methoden bilden die Schnittstelle einer Klasse
Methodenrümpfe
° Realisieren die versprochenen Dienstleistungen durch eine Implementierung
° Schnittstelle(Kopf) und der Implementierung(Rumpf) einer Methode sind strukturell getrennt
Sondierende Methoden
° Verändern den Zustand eines Objektes nicht
° Liefern einen (Ergebnis-)Wert von einem vereinbarten (Ergebnis-)Typ
° Ergebnis wird explizit mittels der return Anweisung zurückgegeben
° Können deshalb an der Aufrufstelle als Teil von Ausdrücken verwendet werden
Verändernde Methoden
° Bei Veränderung geben verändernde Methoden keinen Wert zurück
° Für Klienten sind nur die Methoden aufrufbar, die mit public als öffentlich deklariert wurden; sie bilden die Schnittstelle einer Klasse
° Zur Implementierung werden oft interne Methoden verwendet
° Sie werden in Java als private deklariert