6. Gemeinsames Projekt "Bahnhofsuhr"

Anforderungen an die Klasse Sekundenzeiger

// Instanzieren und Zeichnen an der 12:00:00 Uhr-Position:
    sekundenzeiger = new Sekundenzeiger(mitteX, mitteY, radius);
 
// Drehen um einen Punkt in einem bestimmten Winkel:
    sekundenzeiger.drehenUm(mitteX, mitteY, 0.1/12);
{{ :schule:klassen:2017:10b:sekundenzeigerdetail.png|}}
 
public class Sekundenzeiger {
 
    private Kreis kreisMitte;
    private Kreis kreisAussenRot;
    private Kreis kreisAussenWeiss;
    private Dreieck dreieck;
 
    public Sekundenzeiger(double mitteX, double mitteY, double radius){
 
        kreisMitte = new Kreis(mitteX, mitteY, radius/20);
        kreisMitte.setFuellfarbe("rot");
 
        double mitteYAussen = mitteY - radius * 0.6;
 
        kreisAussenRot = new Kreis(mitteX, mitteYAussen, radius/10);
        kreisAussenRot.setFuellfarbe("rot");
 
        dreieck = new Dreieck(mitteX, mitteY - radius, radius/20, radius*6/5);
        dreieck.setFuellfarbe("rot");
 
        kreisAussenWeiss = new Kreis(mitteX, mitteYAussen, radius/20);
        kreisAussenWeiss.setFuellfarbe("weiß");
 
    }
 
    public void drehenUm(double mitteX, double mitteY, double winkel){
        kreisMitte.drehenUm(mitteX, mitteY, winkel);
        kreisAussenWeiss.drehenUm(mitteX, mitteY, winkel);
        kreisAussenRot.drehenUm(mitteX, mitteY, winkel);
        dreieck.drehenUm(mitteX, mitteY, winkel);
    }
 
 
}

UML-Klassendiagramm des Uhr-Projekts

Interfaces

Wie sieht das Interface timerListener aus?

public interface TimerListener {
 
    public void timerSignalVerarbeiten();
 
}

Merke: Ein interface („Schnittstellen-Klasse“) ist eine Vereinbarung darüber, dass ein Klasse bestimmte Methoden enthält. Implementiert eine Klasse ein Interface, so wird dies im UML-Diagramm durch einen dargestellt.

Drucken/exportieren
QR-Code
QR-Code schule:klassen:2017:10b:kap6 (erstellt für aktuelle Seite)