Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
schule:klassen:2017:10b:kap6 [2017/08/28 10:21]
martin
schule:klassen:2017:10b:kap6 [2017/08/28 10:58] (aktuell)
martin [UML-Klassendiagramm des Uhr-Projekts]
Zeile 1: Zeile 1:
 +====== 6. Gemeinsames Projekt "​Bahnhofsuhr"​ ======
 +
 +Hier [[.kap6:​komplett|die kompletten Java-Dateien des Projekts]]
 +
 +{{ :​schule:​klassen:​2017:​10b:​bahnhofsuhr_skizze.png |}}
 +
 +{{ :​schule:​klassen:​2017:​10b:​uhrprojekt_code_1.png?​800 |}}
 +{{ :​schule:​klassen:​2017:​10b:​uhrprojekt_code_2.png?​800 |}}
 +{{ :​schule:​klassen:​2017:​10b:​uhrprojekt_code_3.png?​800 |}}
 +{{ :​schule:​klassen:​2017:​10b:​uhrprojekt_code_4.png?​800 |}}
 +===== Anforderungen an die Klasse Sekundenzeiger =====
 +<code java>
 +// 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);
 +</​code>​
 +
 +<code java>
 +
 +{{ :​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);
 +    }
 +
 +
 +}
 +</​code>​
 +===== UML-Klassendiagramm des Uhr-Projekts =====
 +{{ :​schule:​klassen:​2017:​10b:​klassendiagramm_uhr.png |}}
 +===== Interfaces =====
 +Wie sieht das Interface ''​timerListener''​ aus?
 +
 +<code java>
 +public interface TimerListener {
 +
 +    public void timerSignalVerarbeiten();​
 +
 +}
 +</​code>​
 +<WRAP center round info 60%>
 +**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 {{:​schule:​klassen:​2017:​10b:​interface_pfeil.png?​50|}} dargestellt.
 +
 +</​WRAP>​
  
Drucken/exportieren
QR-Code
QR-Code schule:klassen:2017:10b:kap6 (erstellt für aktuelle Seite)