Kapitel 13. Objekte von Arrays
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Im vorigen Kapitel haben wir eine Klasse zur Darstellung von Karten definiert und ein Array von Card Objekten verwendet, um ein Deck darzustellen. In diesem Kapitel gehen wir weitere Schritte in Richtung objektorientierte Programmierung.
Zuerst definieren wir eine Klasse, die ein Kartenspiel darstellt. Dann stellen wir Algorithmen zum Mischen und Sortieren von Kartendecks vor. Schließlich stellen wir ArrayList aus der Java-Bibliothek vor und verwenden sie, um Kartensammlungen darzustellen.
Decks mit Karten
Hier ist der Anfang einer Deck Klasse, die ein Array von Card Objekten kapselt:
publicclassDeck{privateCard[]cards;publicDeck(intn){this.cards=newCard[n];}publicCard[]getCards(){returnthis.cards;}}
Der Konstruktor initialisiert die Instanzvariable mit einem Array von n Karten, aber er erstellt keine Card Objekte. Abbildung 13-1 zeigt, wie ein Deck ohne Karten aussieht.

Abbildung 13-1. Speicherdiagramm eines unbesetzten Deck Objekts
Wir fügen einen weiteren Konstruktor hinzu, der ein standardmäßiges 52-Karten-Array erstellt und es mit Card Objekten auffüllt:
publicDeck(){this.cards=newCard[52];intindex=0;for(intsuit=0;suit<=3;suit++){for(intrank=1;rank<=13;rank++){this ...