Python: Klassen

Aus Flinkwiki
Version vom 16. Juli 2019, 19:40 Uhr von Flinh1 (Diskussion | Beiträge) (Instanzen als Attribute einer Klasse)
Wechseln zu: Navigation, Suche
Seitenübersicht
Zur Seite "Python"
Zur Seite "Python: Module"
Zur Seite "Python: Turtle"
Zur Seite "Python: Tkinter"
Zur Seite "Python: pygame"
Zur Seite "Python: PyQT"

Allgemeines

Beispiel für Klasse und ihre Instanziierung:

class Tiere:
    def bewegen(self):
        print("Ich bewege mich")
    def fressen(self):
        print("Ich fresse.")

class Rind(Tiere):
    def __init__(self, flecken):
        self.kuhflecken = flecken
    def findeFutter(self):
        self.bewegen()
        print("Ich habe Futter gefunden!")
        self.fressen()

elsa = Rind(20)
print("Anzahl der Flecken:", elsa.kuhflecken)
elsa.findeFutter()

Vererbung

Grundschema

class Elektroauto(Auto):
    def __init__(self, make, model, year):
        super().__init__(make, model,year)

Die Funktion super() weist Python an, die Funktion __init__ der Elternklasse aufzurufen.


Instanzen als Attribute einer Klasse

Die Instanz einer Klasse (hier: Klasse Batterie) kann in einer anderen Klasse als Attribut dienen:

class Auto:
    def __init__(self, make, model, year):
    self.batterie = Batterie()

Die Methode einer Instanz von Auto könnte für die Batterie dann so lauten:

bmw1 = Auto()
bmw1.batterie.methode()

| |