Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
techniken:objektorient [2014/04/14 12:54] fbonowski |
techniken:objektorient [2016/01/21 12:45] (aktuell) |
||
---|---|---|---|
Zeile 49: | Zeile 49: | ||
Die Sprache C++ und damit auch Arduino stellt dafür ein geeignetes Werzeug bereit: //Klassen// und //Objekte//. | Die Sprache C++ und damit auch Arduino stellt dafür ein geeignetes Werzeug bereit: //Klassen// und //Objekte//. | ||
- | Eine Klasse legt die gemeinsamen Eigenschaften einer Gruppe von Objekten fest. In unserem Fall also ist darin z.B. festgelegt, dass alle Motoren die Möglichkeit haben, unterscheidlich viel Gas zu geben. | + | Eine Klasse legt die gemeinsamen Eigenschaften einer Gruppe von Objekten fest. In unserem Fall also ist darin z.B. festgelegt, dass alle Motoren die Möglichkeit haben, unterscheidlich viel Gas ('throttle')zu geben. |
Im Programm sieht das dann z.B. so aus: | Im Programm sieht das dann z.B. so aus: | ||
Zeile 206: | Zeile 206: | ||
<code c++>#include "MotorControl.h" </code> | <code c++>#include "MotorControl.h" </code> | ||
an den Anfang. | an den Anfang. | ||
+ | ===== Teil 2: Mehr Details zum Konzept ===== | ||
==== Klassen können aufeinander aufbauen (Vererbung) ==== | ==== Klassen können aufeinander aufbauen (Vererbung) ==== | ||
+ | Zu Beginn des Artikels hatten wir versprochen, dass es Möglich sein sollte, verschiedene Motortreibervarianten gegeneinander auszutauschen, ohne am Rest des Programmes etwas zu ändern. | ||
+ | |||
+ | |||
==== Klassen können andere Objekte als Membervariablen enthalten ==== | ==== Klassen können andere Objekte als Membervariablen enthalten ==== | ||
==== In C++ können Klassendeklarationen und der Code für die darin angekündigten Funktionen in unterschiedlichen Dateien liegen ==== | ==== In C++ können Klassendeklarationen und der Code für die darin angekündigten Funktionen in unterschiedlichen Dateien liegen ==== |