29.01.2014 Aufrufe

Script Java

Script Java

Script Java

MEHR ANZEIGEN
WENIGER ANZEIGEN

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 />

Die Methode setFont() verlangt als Parameter eine Instanz der Klasse Font, welche<br />

in der Klassenbibliothek enthalten ist.<br />

Der Konstruktor der Klasse Font verlangt drei Parameter. Beim ersten handelt es sich um<br />

den Namen der Schriftart. Welche Schriftarten vom System unterstützt werden, ist<br />

natürlich plattformspezifisch 1 . Der zweite Parameter gibt den zu verwendenden Stil, also<br />

PLAIN, BOLD, oder ITALIC an. Diese Stiltypen sind als Attribute der Klasse Font<br />

deklariert. Der letzte Parameter bestimmt die Grösse in Punkten.<br />

Sowohl die Klasse Graphics als auch Font sind Teil des package awt.<br />

2.3.1.4 paint() und Redefinition<br />

Abschliessend wollen wir uns noch eingehender die paint() Methode betrachten. Wie<br />

aus dem Programm hervorgeht, wird diese Methode nur deklariert, aber nirgends im<br />

Programm explizit aufgerufen. Abbildung 2-6 macht jedoch offenkundig, dass die<br />

Methode sicherlich für jedes Objekt der Klasse Card einmal ausgeführt worden sein<br />

muss, ansonsten wäre keine Adresse auf der Visitenkarte vorhanden. Der Aufruf der<br />

Methode paint() ist nicht in der Kontrolle des Programmierers, sondern in der des<br />

Systems. Dieses ruft die Methode auf, wenn eine Component das erste mal gezeichnet<br />

wird oder erneut gezeichnet werden muss. Letzteres ist beispielsweise der Fall, wenn der<br />

Benutzer die Grösse einer Component verändert oder wenn eine Component<br />

vorübergehend nicht sichtbar war, weil sie von einer anderen Komponente verdeckt wurde.<br />

Wie man auch aus der Klassenbibliothek entnehmen kann, ist die paint() Methode<br />

bereits in der Klasse Container deklariert. Die neuerliche Vereinbarung dieser Methode<br />

in der Klasse Card wird als Redefinition bezeichnet. Unter Redefinition versteht man das<br />

Erweitern oder Neudefinieren einer ererbten Methode, indem man deren<br />

Methodenschnittstelle zwar beibehält, jedoch deren Rumpf erweitert bzw. neu definiert.<br />

Das Überschreiben des Rumpfes der ererbten Methode ist als method overriding bekannt.<br />

Nebst der Eigenschaft, dass die Methode paint() immer dann durch das System<br />

aufgerufen wird, wenn eine Component aufdatiert werden muss, hat sie noch einen<br />

weiteren Vorteil: sie liefert ohne Aufruf eines Konstruktors das benötigte Objekt der<br />

Klasse Graphics.<br />

1 Der Aufruf Toolkit.getDefaultToolkit().getFontList() liefert eine Liste derjenigen<br />

Schriften, welche standardmässig von jedem System unterstützt werden sollten.<br />

48

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!