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.

6.1 Instanzmethode versus Klassenmethode<br />

public void actionPerformed(ActionEvent event){<br />

if (event.getSource() instanceof TextField) { //RETURN<br />

update(subjectList, subjectField);<br />

update(verbList, verbField);<br />

update(objectList, objectField);<br />

subjectField.requestFocus();<br />

}<br />

else if (event.getActionCommand().equals("SHOW")) {<br />

sentence.setText(<br />

subjectList.getItem(Rndm.nextInt(subjectList.getItemCount()))+" "+<br />

verbList.getItem(Rndm.nextInt(verbList.getItemCount()))+" "+<br />

objectList.getItem(Rndm.nextInt(objectList.getItemCount())));<br />

}<br />

}<br />

In ihr wird als erstes überprüft, ob die RETURN-Taste oder der SHOW-Button aktiviert<br />

wurde. Trifft ersteres zu, werden die TextFields geleert und deren Inhalte in die Lists<br />

übertragen. Falls aber SHOW betätigt wurde, gibt das Label sentence einen<br />

zufallsmässig generierten Satz aus.<br />

Der instanceof-Operator untersucht, ob der linke Operand eine Instanz des rechten<br />

Operanden ist und evaluiert zu einem Booleschen Ergebnis.<br />

Die Methode getSource() ist in der Klasse EventObject (siehe Abbildung 5-8)<br />

enthalten. Sie liefert die eventgenerierende Instanz, also das entsprechende TextField,<br />

zurück.<br />

Siehe auch: 6.1.2.1<br />

6.1.1.3 Instanzmethoden und Klassenmethoden<br />

Nebst der Klasse UserFrame enthält das Programm die Klasse<br />

public class Rndm {<br />

static Random rndm = new Random();<br />

}<br />

static public int nextInt(int n) {return Math.abs(rndm.nextInt())%n;}<br />

Sie deklariert als Klassenvariable eine Instanz rndm der bereits in Abschnitt 3.1.1<br />

erläuterten Klasse Random.<br />

Die Methode nextInt() generiert eine positive, ganze Zufallszahl, die zwischen 0 und<br />

(n-1) liegt. In der Methodenschnittstelle wird die Methode als static deklariert. Das<br />

Schlüsselwort static besagt, dass es sich um eine Klassenmethode handelt. Wie auch<br />

bei den Variablen (siehe Abschnitt 2.4.1.2) unterscheidet man bei den Methoden Instanzund<br />

Klassenmethoden. Hierbei ist bei Instanzmethoden der Botschaftsempfänger immer<br />

eine Instanz, bei Klassenmethoden jedoch eine Klasse. Instanzmethoden arbeiten auf den<br />

Daten eines konkreten Objektes, Klassenmethoden auf denjenigen einer Klasse.<br />

150

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!