Universität Paderborn - Home Universität Paderborn
Die Universität der Informationsgesellschaft

Objektorientierte Programmierung WS 2013/2014 - Lösung 1

Prof. Dr. U. Kastens
Institut für Informatik, Fakultät für Elektrotechnik, Informatik und Mathematik, Universität Paderborn

Ausgabe: 15.10.2013

Lösung zu Aufgabe 1

Siehe Vorlesungsunterlagen.

Lösung zu Aufgabe 3

Das Programm BallWorld war abzuändern, so dass

  1. nicht mehr nach wenigen Sekunden abbricht, sondern beliebig lange weiterläuft

    Lösung:

    • Ersetzen von
           counter = counter + 1;
           if (counter < 2000) repaint();
           else System.exit(0);
      

      in der Klasse BallWorld durch

           repaint();
      

    • Entfernen der Variable counter

  2. dass man es durch Klicken auf die "Abbrechen"-Schaltfläche am rechten oberen Fensterrand beenden kann

    Lösung:

    Einfügen des entsprechenden Event-Listeners in Konstruktor der Klasse BallWorld :

         WindowListener wl = new WindowAdapter(){
               public void windowClosing(WindowEvent e) {
                  System.exit( 0 );
               }
            };
         addWindowListener(wl);
    
    

    Dies ist ein Beispiel für die Verwendung einer anonymen inneren Klasse.

  3. dass der Ball doppelt so groß ist und beim Start des Programmes eine zufällige Farbe bekommt.

    Lösung:

    Ersetzen von

         aBall = new Ball (10, 15, 5);
         aBall.setColor (ballColor);
    

    in der Klasse BallWorld durch

         aBall = new Ball (10, 15, 10);
         aBall.setColor (new Color((float)Math.random(),
                                   (float)Math.random(),
                                   (float)Math.random()));
    

Lösung zu Aufgabe 4

Die Klasse Ball wird in zwei Klassen aufgespalten: Die neue Klasse Ball kennt nur die Grösse, Position und Farbe und weiß, wie Bälle gezeichnet werden. Die zweite Klasse MovableBall erweitert Ball und fügt alles hinzu, was mit der Bewegung des Balles zu tun hat.

Die gesamte Lösung der Aufgaben 3 und 4 befindet sich in

Generiert mit Camelot | Probleme mit Camelot? | Geändert am: 05.11.2013