FSST - Hardwarenahe Programmierung
You are viewing an older revision! See the latest version
Aufgaben Vererbung
Klasendesign und Konstruktor
1. Schreiben Sie die Klasse DigitalOut (siehe DigitalOut.h) auf Deutsch um :
Lösung?
2. Fügen Sie der von DigitalOut abgeleiteten Klasse DigitalAus die Operation blink10Mal()
hinzu, sodass die Led 10 Mal im Abstand von 500ms ein-/ausgeschaltet wird.
- Überladen Sie die Operation
blink10Mal()
so dass Sie die Zeit einstellen können. - Überladen Sie die Operation
blink10Mal()
ein weiteres Mal so dass Sie zur Zeit auch die Blinkanzahl einstellen können. - Zeichnen Sie ein UML Diagramm.
Siehe auch Neue Methoden hinzufügen und überladen
3. Schreiben Sie eine Klasse MyTimer die abgeleitet wird von der Timer-Klasse und benennen Sie alle Methoden so um, dass sie mit großem Anfangsbuchstaben beginnen. Testen Sie Ihre MyTimer-Klasse, indem Sie ein MyTimer-Objekt tm erzeugen, mit tm.Start() den Timer starten und mit tm.Stop() anhalten und das Ergebnis mit tm.CheckTimerMS() auf die serielle Schnittstelle mit pc.printf() ausgeben. (wirft im Simulator eine Exception!)
Lösung?
4. Wie unter Punkt 1. (zeichnen Sie auch das dazugehörige UML-Klassendiagramm) nur für "alle" Klassen aus Drivers, wie z.B.:
- BusInOut, BusInOut, BusIn
- DigitalInOut, DigitalIn
- PortOut, PortInOut, PortIn
- usw.
5. Erweitern Sie Klassen wie z.B. BusOut um die Operationen aus den Beispielen für Leds und Klassen
Überladen von Methoden der Basisklasse