s n h m r u

Minimallogo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

s n h m r u
i

Karten per Mausklick

Karten-Objekte erzeugen

Zuerst beschäftigen wir uns mit einzelnen Karten, noch nicht mit ganzen Stapeln. Oben in BlueK 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 BlueK kannst du den Konstruktor einer Klasse durch Rechtsklick 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 einer der Werte 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 Klasse Karte 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.

Sowohl die Farbe als auch der Rang werden als String-Werte übergeben. Ein String ist eine Zeichenkette, also eine Abfolge von Buchstaben, Ziffern 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 beide Parameter den Datentyp String haben, 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 1

Erzeuge in BlueK 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 BlueK

Aufgabe 2

Untersuche mit dem Objektinspektor die Attribute der Karten-Objekte.

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 BlueK

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 3

Rufe die Methoden der Karten-Objekte auf und beschreibe ihre Wirkung. Nutze dabei möglichst viele der oben rot dargestellten Fachbegriffe.

Attributwerte verändern

Du kannst im Objektinspektor die Werte der Attribute auch verändern, indem du auf das Stift-Symbol klickst, einen neuen Wert eingibst und deine Eingabe mit der Enter-Taste bestätigst.

Attribute ändern im Objektinspektor

Aufgabe 4

Ändere die Werte der Attribute der Karten-Objekte und rufe anschließend die Methoden druckeKarte() und berechneWert() erneut auf. Beschreibe, wie sich die Ausgabe und der Rückgabewert verändert haben.

Suche

v
100.123.1.1.2 Karten per Mausklick
Kopieren durch Anklicken

Rückmeldung geben