i

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 Klasse  Karte. In ihr ist definiert, wie eine Karte als Software-Objekt aufgebaut ist und welche Fähigkeiten sie hat. Von einer Klasse können wir beliebig viele Objekte erzeugen. Jedes Objekt ist ein Exemplar der Klasse, man sagt auch: eine Instanz der Klasse. Um eine Karte zu erzeugen, rufen wir den Konstruktor der Klasse Karte auf. In BlueJ kannst du den Konstruktor einer Klasse durch Rechts-Klick auf die Klasse aufrufen:

Konstruktor

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.

Konstruktor mit Parametern

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.

Objektinspektor in BlueJ

Aufgabe

Untersuche mit dem Objektinspektor die Attribute der Karten-Objekte. Finde heraus wie die interne Darstellung der Farbe und des Rangs aussieht.

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.

Methoden eines Objekts in BlueJ

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.

Aufgabe

Rufe die Methoden der Karten-Objekte auf und beschreibe ihre Wirkung.

Suche

v
100.123.1.1.2 Karten per Mausklick
Kopieren durch Anklicken

Rückmeldung geben