Dritte Lösungsmöglichkeit

[Startseite]


Erste Anwendungen ] Anwendungen als Applets ] Probleme mit Applets ] Applets mit Netscape 4.x ]

Erste Lösungsmöglichkeit
Zweite Lösungsmöglichkeit
Dritte Lösungsmöglichkeit
3. Lösungsmöglichkeit

 

Zunächst wird eine Klasse RechteckProgrammn entworfen :

 

Schritt 1:

Eine Methode enthält die gesamte Funktionalität

Schritt 2:

Verlagerung der Funktionalität in passende Methoden

public class RechteckProgramm4

{

//Deklarationsteil

private Bildschirm bildschirm;

private Stift stift;

private Maus maus;

public void fuehreAus()

{

bildschirm=new Bildschirm();

stift = new Stift();

maus = new Maus();

stift.hoch();

stift.bewegeBis(20,20);

stift.zeichneRechteck(100,100);

while (!maus.istGedrueckt()){;}

maus.gibFrei();

stift.gibFrei();

bildschirm.gibFrei();

}

}

 

public class RechteckProgramm5

{

//Deklarationsteil

private Bildschirm bildschirm;

private Stift stift;

private Maus maus;

public void init()

{

bildschirm=new Bildschirm();

stift = new Stift();

maus = new Maus();

}

public void gibFrei()

{

maus.gibFrei();

stift.gibFrei();

bildschirm.gibFrei();

}

public void zeichnen()

{

stift.hoch();

stift.bewegeBis(20,20);

stift.zeichneRechteck(100,100);

}

public void fuehreAus()

{

this.init();

this.zeichnen();

while (!maus.istGedrueckt()){;}

this.gibFrei();

}

}

 

 

 

Es wird eine zweite Klasse Programm deklariert, deren (einzige) Aufgabe darin besteht, ein Objekt des Rechteckprogramms zu erzeugen und dieses zur Ausführung seiner Funktionalität zu veranlassen:

 

Beispiel für Rechteckprogramm4

 

public class StartProgramm

 

public static void main(String[] s)

{

RechteckProgramm4 rp4;

rp4 = new RechteckProgramm4();

/* rp4 ist ein Objekt der Klasse RechteckProgramm4 */

rp4.fuehreAus();

}

}

 

Im Anfangsunterricht kann der Umgang mit der Klasse StartProgramm als allgemeines Schema vorgegeben werden. Eine Erklärung statischer Methoden insbesondere von main braucht erst zu einem späteren Zeitpunkt zu erfolgen.

Auch auf die Deklaration von Konstruktoren sollte in den Einstiegsbeispiele verzichtet werden. Dies wird erst interessant beim Entwurf von Objekten interessant. Die Erzeugung von Objekten mittels new Klassenname() kann zunächst als Verfahren angegeben werden. Man sollte auch auf den hier als erste Lösungsmöglichkeit gegebenen Ansatz als Vorläufer des zuletzt genannten verzichten, da er nur auf ganz einfache Aufgabenstellungen vernünftig anzuwenden ist und ein Übergang zu den anderen Lösungen eine Erklärung zu einem frühen Zeitpunkt erforderlich macht, die bei direkter Vorgabe dieses Ansatzes zurückgestellt werden kann.

Es empfiehlt sich, die Grundstruktur der im Einstiegsunterricht benutzten Programme als Schablonen (s.oben) zur Verfügung zu stellen.

 

 


Seitenanfang

© Georg Dick