Kapitel 17. Vererbung

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Das Sprachmerkmal, das am häufigsten mit objektorientierter Programmierung in Verbindung gebracht wird, ist die Vererbung. Vererbung ist die Möglichkeit, eine neue Klasse zu definieren, die eine modifizierte Version einer bestehenden Klasse ist. In diesem Kapitel zeige ich die Vererbung anhand von Klassen, die Spielkarten, Kartendecks und Pokerhände darstellen. Wenn du nicht pokerst, mach dir keine Sorgen - ich sage dir, was du wissen musst.

Karten repräsentieren

Es gibt 52 Spielkarten in einem Standarddeck - jede von ihnen gehört zu einer von vier Farben und einem von dreizehn Rängen. Die Farben sind Pik, Herz, Karo und Kreuz. Die Ränge sind Ass, 2, 3, 4, 5, 6, 7, 8, 9, 10, Bube, Dame und König. Je nachdem, welches Spiel du spielst, kann ein Ass höher als ein König oder niedriger als eine 2 sein.

Wenn wir ein neues Objekt definieren wollen, das eine Spielkarte darstellt, ist es offensichtlich, wie die Attribute lauten sollten: rank und suit. Es ist weniger offensichtlich, welchen Typ die Attribute haben sollten. Eine Möglichkeit ist, Zeichenketten wie 'Spade' für Farben und 'Queen' für Ränge zu verwenden. Ein Problem bei dieser Implementierung ist, dass es nicht einfach wäre, Karten zu vergleichen, um zu sehen, welche einen höheren Rang oder eine höhere Farbe hat.

Eine Alternative ist die Verwendung ganzer Zahlen zur Kodierung ...

Get Think Python, 3. 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.