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:

public class Deck {
    private Card[] cards;

    public Deck(int n) {
        this.cards = new Card[n];
    }

    public Card[] getCards() {
        return this.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:

public Deck() {
    this.cards = new Card[52];
    int index = 0;
    for (int suit = 0; suit <= 3; suit++) {
        for (int rank = 1; rank <= 13; rank++) {
            this ...

Get Think Java, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.