1 Übersicht
In diesem Kurs lernst du, wie du die Attribute, die du in der Modellierung gefunden hast, in deine Javaklasse überträgst. Dabei bekommst du auch einen Überblick über die vier häufigsten Datentypen. Damit du deinen Attributen auch sinnvolle Attributwerte geben kannst, wirst du außerdem den Konstruktor kennenlernen.
Dieser Kurs ist die Fortsetzung des Kurses Von der Klassenkarte zur Java-Klasse: I Struktur
2 Objekte ohne Eigenschaften
Erzeugst du aktuell ein Objekt der Klasse SMARTPHONE, so siehst du reichlich wenig.

Das liegt daran, dass du in der Klasse keinerlei Attribute festgelegt hast, die in der Objektkarte sichtbar wären. Das kannst du jetzt ändern.

3 Kein Attribut ohne Datentyp
Gehst du forschend an die Sache ran, so könntest du auf die Idee kommen, zunächst einfach das Wort in die Klasse zu tippen. Sobald du auf den Übersetzen-Button drückst, leuchtet dir ein Fehler entgegen: <identifier> expected
.
Wenn du jetzt die Suchmaschine anwirfst, wirst du das erste Mal erfahren, dass Fehlermeldungen sehr hilfreich sein können, aber manchmal auch sehr irreführend. Hier wirst du nämlich finden, dass der Identifier der Bezeichner des Attributs oder der Variable ist.
Was dir fehlt, ist aber nicht der Bezeichner (denn dieser ist ja beispielsweise akkustand), sondern der Datentyp.
Datentypen sagen dem Programm bereits gleich zu Beginn, wofür es in seinem Speicher Platz machen soll und helfen zusätzlich bei der Fehlervermeidung, denn der Compiler überprüft für dich, ob du an späterer Stelle mit dem richtigen Datentyp gearbeitet hast.
4 Die wichtigsten Datentypen
5 Der Akkustand ist eine Zahl...
...zwischen 0 und 100.
Mit dieser Zahl soll eventuell auch gerechnet werden können, wenn man sie zum Beispiel schrittweise senken oder wieder auf 100 erhöhen möchte. Deshalb sollte sie nicht als Text ("38 Prozent") gespeichert werden, denn von einem Text kann man zum Beispiel nicht sinnvoll etwas abziehen.
Also wird in der Klasse stehen: int akkustand
6 Der Netzbetreiber ist ein Text...
... und kann deshalb aus beliebigen Zeichen und Symbolen bestehen. "A3" ist genauso gültig wie "E-Plus Deutschland".
Wichtig ist aber:
Texte haben eine komplexere Struktur als Zahlen oder Wahrheitswerte, deshalb spricht man bei String im Vergleich zu int
oder boolean
auch nicht von einem einfachen Datentyp.
String liefert schon vorgefertigte Methoden, mit denen man arbeiten kann, ohne selbst noch mehr Code zu schreiben. Mehr dazu aber später.
Erstmal gilt, dass später in der Klasse stehen wird: String netzbetreiber
7 Ob die WLAN-Verbindung steht...
...lässt sich als Wahrheitswert speichern.
Genauer gesagt: Jede Frage, die man mit "Ja" oder "Nein" beantworten kann, lässt sich am effizientesten als Wahrheitswert verarbeiten.
Auch wenn du mühevoll true
oder false
tippen wirst, hat dein Computer es mit diesem Datentyp sehr einfach. Er liest nur 1
für wahre Aussagen und 0
für falsche.
Dieser Datentyp ist zum Beispiel nützlich, um später Entscheidungen möglich zu machen wie "gehe nur ins Internet, wenn meine WLAN-Verbindung hergestellt ist".
Deshalb kann man in die Klasse schreiben: boolean wlanVerbunden
8 wichtige Fehlermeldung
Wenn du fleißig das abtippst, was du hier im Kurs siehst, so hast du bisher vermutlich keine Fehlermeldung gesehen. Jetzt ist es aber so weit!
Ergänze doch mal die Attribute mit Datentypen in der Klasse:
class SMARTPHONE{
//Attribute:
int akkustand
String netzbetreiber
boolean wlanVerbunden
}
Wenn du jetzt auf Übersetzen klickst, solltest du folgende Fehlermeldung erhalten:
';' expected
Erst, wenn du am Ende der drei neuen Zeilen einen Strichpunkt ergänzt, verschwinden die Fehlermeldungen. Die Strichpunkte signalisieren dem Compiler eine Lesepause und trennen voneinander unabhängige Codezeilen voneinander ab:
class SMARTPHONE{
//Attribute:
int akkustand;
String netzbetreiber;
boolean wlanVerbunden;
}
Vergessene Strichpunkte oder (nicht wieder geschlossene) Klammern sind eine häufige Fehlerquelle. Wenn du dich an das Layout der Zeilen aus diesem Kurs hältst, gilt deshalb