Fachkonzept - Objekte und Klassen
Mehrere Objekte einer Klasse erzeugen
Am NXT-Baustein sind zwei Tastsensoren angeschlossen. Sie können auf die gleiche Art und Weise beschrieben werden und haben die gleiche Funktionalität. In der objekt-orientierten Modellierung spricht man dann von Objekten (Instanzen) der gleichen Klasse (Objekttyp).
Eine Klasse legt genau fest, welche Attribute (Eigenschaften) die zu konstruierenden Objekte haben sollen, welche Methoden (Operationen) sie ausführen können sollen und welche anderen Objekte darauf zugreifen können.
vgl. Klassen als Baupläne
Ein Taster ist an einem bestimmten Eingang (Port) des NXT angeschlossen. Es soll jederzeit geprüft werden können, ob der Taster (zu diesem Zeitpunkt) gedrückt ist. Daraus ergibt sich folgendes Klassendiagramm:
Im oberen Feld steht der Klassenname TouchSensor. Hier wird zusätzlich angegeben, dass diese Klasse im Paket lejos.nxt definiert ist. Im zweiten Feld stehen die Attribute und im dritten Feld die zur Verfügung stehenden Methoden.
Bemerkung: Jede (öffentliche) Java-Klasse ist in einer eigenen Datei gespeichert, die [Klassenname].java heißt.
Objekte erzeugen
Um ein Objekt einer Klasse zu erzeugen, erfolgt ein sogenannter Konstruktoraufruf. Die Konstruktormethode schafft Speicherplatz für das neue Objekt und belegt die Attribute eines Objektes mit initialen Werten.
Der Konstruktor der Klasse TouchSensor
erwartet als Eingabe-Parameter
ein Objekt der Klasse ADSensorPort
, der die Hardware-Schnittstelle angibt. Diese kann beim NXT-Baustein
mit SensorPort.S1
bis SensorPort.S4
übergeben werden.
Für unser Beispiel benötigen wir zwei TouchSensor-Objekte. Diese sollen
linkerTaster und rechterTaster heißen. Der linke Taster ist am Port 1,
der rechte Taster am Port 4 angeschlossen. Der Aufruf des Konstruktors erfolgt mit voran
gestelltem Schlüsselwort new
:
static TouchSensor linkerTaster = new TouchSensor(SensorPort.S1);
static TouchSensor rechterTaster = new TouchSensor(SensorPort.S4);
Zwei weitere Beispiele für NXT-Klassen
Quellen
- [1]: Zwei Taster am NXT - Urheber: BF - Lizenz: Inf-Schule.de
- [2]: Klasse TouchSensor - Urheber: BF - Lizenz: Inf-Schule.de
- [3]: Klassen LCD und Button - Urheber: BF - Lizenz: Inf-Schule.de