Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
2.3 Vererbung, Konstruktor und Redefinition<br />
public Card(String title, String firstName, String familyName,<br />
String street, String zipCode, String city) {<br />
this.title = title;<br />
this.firstName = firstName;<br />
this.familyName = familyName;<br />
this.street = street;<br />
this.zipCode = zipCode;<br />
this.city = city;<br />
setTitle(firstName);<br />
setSize(240,160);<br />
setResizable(false);<br />
setVisible(true);<br />
}<br />
Wie man aus der Methodenschnittstelle entnehmen kann, hat Card() die sechs Parameter<br />
title, firstName, familyName, street, zipCode und city, bei welchen es<br />
sich wiederum, wie auch bei den Attributen der Klasse Card, um Texte handelt. Dass<br />
diese Parameter genau gleich heissen, wie die Attribute der Klasse, hat auf den<br />
Programmablauf keinen Einfluss.<br />
Um die Attribute von den gleichlautenden Parametern zu unterscheiden, wird das<br />
Schlüsselwort this verwendet. Das Schlüsselwort this bezeichnet dasjenige Objekt,<br />
welches der Empfänger der momentan ausgeführten Methode ist. Im Beispiel referenziert<br />
this somit diejenige Instanz der Klasse Card, die durch den Konstruktor gerade<br />
generiert wird.<br />
Betrachten wir die Anweisung<br />
this.title = title;<br />
Der ‘=‘-Operator bewirkt eine sogenannte Zuweisung (engl. assignment): das Attribut<br />
title des durch this referenzierten Objektes erhält den Wert des Parameters title;<br />
ein allfälliger früherer Wert dieses Attributes wird dabei überschrieben. Die Wertübergabe<br />
findet somit von rechts nach links statt.<br />
Der Aufruf des Konstruktors Card() erfolgt in der Methode actionPerformed():<br />
new Card(title.getSelectedCheckbox().getLabel(), firstName.getText(),<br />
familyName.getText(), street.getText(), zipCode.getText(),<br />
city.getText());<br />
Dieses Beispiel zeigt, wie ein Konstruktor aufgerufen wird: nach dem Schlüsselwort new<br />
folgt der Konstruktorname mitsamt Parameterliste. Die Parameter enthalten in diesem<br />
Beispiel die Texte, welche der Benutzer in die Textfelder der graphischen<br />
Benutzeroberfläche eingegeben hat.<br />
Da der Aufruf des Konstruktors in der Methode actionPerformed() passiert, wird<br />
jedesmal, wenn der Benutzer den Button PRINT aktiviert, ein neues Objekt der Klasse<br />
Card kreiert. Die Objekte der Klasse Card werden per Mauskilck, dynamisch zur<br />
Laufzeit des Programms, erzeugt. Jede Visitenkarte ist eine eigenständige Instanz der<br />
Klasse Card.<br />
46