Karten per Mausklick
Karten-Objekte erzeugen
Zuerst beschäftigen wir uns mit einzelnen Karten, noch nicht mit ganzen Stapeln.
Oben in BlueJ siehst du die Karte auf.
In BlueJ kannst du den Konstruktor einer Klasse durch Rechts-Klick auf die
Klasse aufrufen:
Der Konstruktor der Klasse Karte
hat zwei Parameter: die Farbe und den Rang der Karte.
Wir erzeugen eine Karte mit der Farbe Herz und dem Rang Dame.
Unter der Farbe einer Karte versteht man einen der vier Werte: Herz, Karo, Pik und Kreuz. Der Rang einer Karte ist entweder eine Zahl von 2 bis 10 oder eine der Bildkarten Bube, Dame, König oder Ass. Beim Erzeugen einer Karte mit Hilfe des Konstruktors musst du als ersten Parameter die Farbe angeben und als zweiten Parameter den Rang.
Die Karten-Klasse ist so programmiert, dass du die Farbe und den Rang groß oder klein schreiben kannst. Außerdem darfst du den Rang abkürzen, wenn du möchtest. Für die Dame kannst du also auch D schreiben. Die Karten-Klasse wandelt die Eingaben automatisch in die korrekte, intern genutzte Schreibweise um.
Sowohl die Farbe als auch der Rang werden als String-Werte
übergeben. Ein String ist eine Zeichenkette, also
eine Abfolge von Buchstaben, Zahlen oder Sonderzeichen.
Du musst einen String-Wert immer in doppelte Anführungszeichen setzen,
damit das Programm erkennt, dass es sich um einen String handelt.
String ist ein Datentyp,
da er angibt, welche Werte etwas vom Typ String annehmen kann.
Da der Datentyp der Parameter fest ist und vom Typ String ist,
musst du auch Zahlenwerte wie 7 in Anführungszeichen setzen
- also "7" - damit sie als String erkannt werden.
Die Zeichenkette "7" ist also nicht das Gleiche
wie die Zahl 7.
Aufgabe
Erzeuge in BlueJ die folgenden Karten-Objekte, indem du den
Konstruktor der Klasse Karte aufrufst:
- Herz Dame
- Karo 10
- Pik Ass
- Kreuz 7
Eigenschaften von Objekten
Eine Karte hat als Software-Objekt verschiedene Eigenschaften, die wir in der objektorientierten Programmierung als Attribute bezeichnen. Attribute von Karten sind ihre Farbe wie Herz, Karo, Pik oder Kreuz und ihr Rang wie Ass, König, 7 etc.
Du kannst die Attribute - also die Eigenschaften der per Mausklick erzeugten Objekte - anzeigen lassen, indem du rechts auf ein Objekt klickst und "Inspect" auswählst. Alternativ kannst du auf ein Objekt doppelklicken.
Aufgabe
Fähigkeiten von Objekten
Eine Software-Karte hat verschiedene Methoden, also Fähigkeiten, die sie ausführen kann. Eine Karte kann sich zum Beispiel auf dem Bildschirm anzeigen oder ihren Blackjack-Wert berechnen. Die Methoden eines Objekts kannst du ausführen, indem du rechts auf das Objekt klickst und die gewünschte Methode auswählst.
Die beiden Methoden unterscheiden sich grundsätzlich darin, dass die
Methode druckeKarte() eine Aufgabe erledigt, uns aber
keinen Wert zurückgibt,
während die Methode berechneWert() einen Wert
vom Typ Int zurückgibt, uns also eine Antwort liefert.
Int ist ein weiterer Datentyp und
steht für ganze Zahlen (Integer).
Da die Methode berechneWert() einen Int-Wert zurückgibt,
sagt man auch, dass die Methode den Rückgabetyp
Int hat.