Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
schule:klassen:2017:10b:kap6 [2017/08/28 08:58] – [UML-Klassendiagramm des Uhr-Projekts] martinschule:klassen:2017:10b:kap6 [2021/12/29 10:40] (aktuell) – Externe Bearbeitung 127.0.0.1
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)