Wenn du in einem Spiel mehrere Figuren hast, sollen sie oft ähnliche Dinge können: einen Namen haben, sich bewegen oder Punkte sammeln. Du willst diese Regeln nicht für jede Figur neu programmieren. Genau dabei helfen Klassen.
- Du erklärst den Unterschied zwischen Klasse und Objekt.
- Du erkennst Attribute und Methoden.
- Du erzeugst Objekte in Python.
- Du verstehst die Grundidee der Vererbung.
Ein Bauplan für ähnliche Dinge
In der Programmierung fasst man oft ähnliche Dinge zusammen: mehrere Schüler, Lampen oder Spielfiguren. Eine Klasse ist ein Bauplan im Programm. Sie beschreibt, welche Daten und Aktionen Dinge einer bestimmten Sorte haben können.
Ein Objekt ist ein einzelnes Ding, das nach diesem Bauplan erzeugt wurde. Es heißt auch Instanz. Aus einer Klasse können viele verschiedene Objekte entstehen.
Die Klasse Hund ist der Bauplan.
bello und luna sind zwei Objekte dieser Klasse. Beide sind Hunde, aber sie können unterschiedliche Namen und Alter haben.
Klasse = Bauplan. Objekt = ein konkretes Exemplar, das nach diesem Bauplan entstanden ist.
Interaktive Quizfrage wird geladen ...
Eigenschaften: Attribute
Ein Hund kann einen Namen, ein Alter und eine Farbe haben. Solche gespeicherten Angaben heißen Attribute. Ein Attribut ist eine Eigenschaft eines Objekts mit einem Wert.
Die Klasse legt fest, welche Attribute vorgesehen sind. Jedes Objekt besitzt aber seine eigenen Werte. Deshalb kann Bello vier Jahre alt sein und Luna zwei Jahre, obwohl beide zur Klasse Hund gehören.
Bei einem Objekt bello könnte gelten:
bello.nameist Bellobello.alterist 4
Bei einem Objekt luna könnte gelten:
luna.nameist Lunaluna.alterist 2
Interaktiver Lückentext wird geladen ...
Interaktive Quizfrage wird geladen ...
Aktionen: Methoden
Ein Hund kann bellen oder fressen. In einem Programm heißen Aktionen eines Objekts Methoden. Eine Methode ist eine Funktion, die zu einer Klasse gehört und etwas mit einem Objekt macht.
In Python steht bei Methoden meist self als erster Parameter. Ein Parameter ist eine Angabe, mit der eine Methode arbeiten kann. self meint dabei genau das Objekt, auf dem die Methode gerade arbeitet.
Methoden können Werte verändern oder ein Ergebnis liefern. Zum Beispiel könnte eine Methode den Punktestand erhöhen oder prüfen, ob eine Tür geöffnet ist.
In Python kann eine Klasse so aussehen:
class Hund:
def bellen(self):
print("Wuff")
Die Methode bellen gehört zur Klasse Hund. Ein erzeugter Hund kann sie aufrufen.
Attribute sagen, was ein Objekt hat. Methoden sagen, was es tun kann.
Interaktive Quizfrage wird geladen ...
Objekte in Python erzeugen
Damit aus dem Bauplan ein nutzbares Objekt wird, erzeugst du es mit dem Namen der Klasse und runden Klammern. Die besondere Methode __init__ heißt Konstruktor. Ein Konstruktor wird beim Erzeugen eines Objekts ausgeführt und setzt oft die ersten Attributwerte.
class Schueler:
def __init__(self, name, klasse):
self.name = name
self.klasse = klasse
mia = Schueler("Mia", "8b")
tom = Schueler("Tom", "8b")
Schueler ist die Klasse. mia und tom sind Objekte. Beide haben eigene Werte für name und klasse.
Mit Klassenname(...) erzeugst du in Python ein Objekt. Die Angaben in den Klammern erhält der Konstruktor.
Interaktive Quizfrage wird geladen ...
Vererbung: Gemeinsamkeiten weitergeben
Manche Klassen sind besonders allgemein. Eine Basisklasse ist eine allgemeine Klasse. Eine Unterklasse ist eine speziellere Klasse, die Eigenschaften und Methoden der Basisklasse übernehmen kann. Dieses Weitergeben heißt Vererbung.
So musst du gemeinsame Regeln nicht doppelt schreiben. Eine Unterklasse darf zusätzlich eigene Attribute und Methoden haben.
class Fahrzeug:
def fahren(self):
print("Das Fahrzeug fährt")
class Fahrrad(Fahrzeug):
def klingeln(self):
print("Klingeling")
Fahrzeug ist die Basisklasse. Fahrrad ist eine Unterklasse. Ein Fahrrad kann fahren, weil es diese Methode übernimmt. Es kann außerdem klingeln.
Vererbung bedeutet: Eine speziellere Klasse übernimmt passende Eigenschaften und Methoden von einer allgemeineren Klasse.
Interaktive Quizfrage wird geladen ...
Zusammenfassung
Eine Klasse ist ein Bauplan für ähnliche Dinge im Programm. Ein Objekt ist ein einzelnes Exemplar dieses Bauplans. Attribute speichern Eigenschaften, und Methoden beschreiben Aktionen.
Mit einem Konstruktor erhalten neue Objekte ihre Startwerte. Durch Vererbung kann eine Unterklasse gemeinsame Regeln von einer Basisklasse übernehmen und sinnvoll ergänzen.
Interaktive Lernkarten wird geladen ...
Mit Google fortfahren