Mit Methoden wird das Verhalten von Objekten durch Programmcode beschrieben. Eine Methode besteht aus folgenden Teilen: Durch Methoden kann Codeverdopplung vermieden werden. Außerdem dienen sie als Strukturierungsmittel.
Hinweis: Jede Methode löst ein Problem durch eine klar definierte Handlungsvorschrift. Diese Vorschrift wird Algorithmus genannt.
0 Comments
this(“default-vorname“,“default-familienname“,2004);
Diese Anweisung ruft – wie ein Methodenaufruf - den Konstruktor mit Parameter auf. Bei der Erzeugung eines Objektes muss einer der Konstruktoren ausgewählt werden. Die Konstruktoren unterscheiden sich in der Anzahl der Parameter und/oder der Datentypen der Parameter.
Ein Konstruktor hat immer den gleichen Namen wie die Klasse in der er sich befindet. Ein Konstruktor unterscheidet sich von einer Methode dadurch, dass er keinen definierten Rückgabetyp hat. Standardmäßig ist der Konstruktor ohne Parameter (default-Konstruktor) immer vorhanden, auch wenn man ihn nicht im Code programmiert. Falls man eigene Konstruktoren programmiert, muss der default-Konstruktor auch code-mäßig vorhanden sein, falls man ihn verwenden möchte. Konstruktoren initialisieren die Objekte mit definierten, gültigen (validierten) Werten. Die Überprüfung der Werte erfolgt an einer zentralen Stelle, in den set-Methoden. Daher werden in allen Konstruktoren die set-Methoden aufgerufen. Durch den Zuweisungsoperator = kann der Wert einer Variablen verändert werden.
Beispiele: z.B. im default-Konstruktor this.geburtsjahr=2004; Der Wert rechts des Operators wird dem zugewiesen, was auf der linken Seite steht. Rechts kann auch ein sogenanntes Literal stehen. Hier im Beispiel 2004. Damit erhält das Attribut des aktuellen Objektes den Wert 2004. z.B. im Konstruktor mit Parameter this.geburtsjahr=geburtsjahr; Der Wert des Parameters wird dem Attribut zugewiesen. Achtung:
Eine Variable steht immer für Werte aus dem Wertbereich des definierten Typs dieser Variablen. Der Wert einer Variablen kann verändert werden, ist variabel.
Beispiele: // name ist vom Typ String und kann eine beliebig lange Zeichenkette aufnehmen. String name=“Boss“; // geburtsjahr ist vom Typ int und kann eine ganze Zahl aus dem Wertebereich (4 Byte) aufnehmen. // mit Zahlen kann außerdem gerechnet werden. int geburtsjahr=2001; // preis ist eine Gleitkommazahl // Das Komma wird mit dem Punkt (.) dargestellt. // Der default-Datentyp eines Literals ist double, daher muss hinter der Zahl f für float geschrieben werden. float preis=2.5f; Java ist eine typgebundene Programmiersprache. D.h. alles was man verwendet, also jede Form von Variablen (Attribute, Parameter, …) muss einen definierten Typ (primitiver Datentyp oder Klasse) haben.
Primitive Datentypen: int, float, double, …. Link: https://de.wikibooks.org/wiki/Java_Standard:_Primitive_Datentypen Beispiele: // int speichert ganze Zahlen int geburtsjahr=2004; Klasse: String // String speichert eine Zeichenkette String vorname="Hubert"; Mit this meint man immer das aktuelle Objekt. Daher, immer wenn man auf die Attribute der Klasse zugreift this voranstellen.
z.B. public void setGeburtsjahr(int geburtsjahr){ this.geburtsjahr=geburtsjahr; } Was passiert in der set-Methode: Der Inhalt des Parameters geburtsjahr (z.B. 2010) wird dem Attribut this.geburtsjahr zugewiesen. = … Zuweisungsoperator Der Wert rechts des Operators wird dem zugewiesen, was auf der linken Seite steht. In BlueJ: Man geht in BlueJ mit der Maus auf ein Objekt und drückt die rechte Maustaste. Im Context_Menü sieht man jetzt die verfügbaren Methoden (jene die public sind). In unserem Beispiel die get-/set-Methoden und die print-Methode. Durch Wahl der print-Methode kann man jetzt den Inhalt der Eigenschaften in der Konsole ausgeben. Die Konsole öffnet sich automatisch. Im Source-Code:
Man benötigt eine Referenz vom Typ des Objektes, auf das man zugreifen möchte. Beim Erzeugen des Objektes speichert die Referenz die Adresse des Objektes (=Rückgabewert des Konstruktors). Über diese Referenz kann jetzt auf alle public-Teile des Objektes zugegriffen werden. // schueler ist eine Referenz vom Typ Schueler Schueler schueler=new Schueler(“Hugo“,“Boss“); // print-Methode (muss public sein) für das erzeugte Objekt wird aufgerufen schueler.print(); |
Autorvielerlei interessen, neben digitalen vor allem auch analoge. ArchivKategorien |