Benutzer-Werkzeuge

Webseiten-Werkzeuge


techniken:objektorient

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste Überarbeitung Beide Seiten der Revision
techniken:objektorient [2014/04/11 21:21]
fbonowski
techniken:objektorient [2014/04/14 12:55]
fbonowski [Eine Lösung: Daten und Code im Paket: Klassen und Objekte]
Zeile 37: Zeile 37:
 </​code>​ </​code>​
  
-Das spart schon eine Menge Tipperei, aber eines stört immernoch: ​+Das spart schon eine Menge Tipperei.
  
-**Jedes Mal, wenn wir die Geschwindigkeit ändern wollen, müssen wir die //​Pinnummern//​ wissen!**+**Aber eines stört immernoch: ​Jedes Mal, wenn wir die Geschwindigkeit ändern wollen, müssen wir die //​Pinnummern//​ wissen!**
  
 Das ist besonders lästig, wenn die Funktionsaufrufe quer über das Programm verteilt sind, oder wir Programmmodule erstellen wollen, die auf beliebige Motoren zugreifen können sollen, ohne vorher zu wissen, welche dies sein werden. So könne es z.B. eine H-Brücke geben, die statt 3 nur 2 Pins als Eingänge (Richtung, PWM) hat. Wegen einer kleinen Hardwareänderung wie dieser an vielen Stellen Code ändern zu müssen, der sich mit ganz anderen Dingen (z.B. der Navigation in einem Labyrinth) beschäftigt,​ führt zu viel verschwendeter Zeit... Das ist besonders lästig, wenn die Funktionsaufrufe quer über das Programm verteilt sind, oder wir Programmmodule erstellen wollen, die auf beliebige Motoren zugreifen können sollen, ohne vorher zu wissen, welche dies sein werden. So könne es z.B. eine H-Brücke geben, die statt 3 nur 2 Pins als Eingänge (Richtung, PWM) hat. Wegen einer kleinen Hardwareänderung wie dieser an vielen Stellen Code ändern zu müssen, der sich mit ganz anderen Dingen (z.B. der Navigation in einem Labyrinth) beschäftigt,​ führt zu viel verschwendeter Zeit...
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:
  
techniken/objektorient.txt · Zuletzt geändert: 2016/01/21 12:45 (Externe Bearbeitung)