Python: Klassen: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) (→Vererbung) |
Flinh1 (Diskussion | Beiträge) (→Vererbung) |
||
| Zeile 40: | Zeile 40: | ||
</nowiki> | </nowiki> | ||
Die Funktion ''super()'' weist Python an, die Funktion ''__init__'' der Elternklasse aufzurufen. | 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: | ||
| + | <nowiki> | ||
| + | class Auto: | ||
| + | def __init__(self, make, model, year): | ||
| + | self.batterie = Batterie() | ||
| + | </nowiki> | ||
---- | ---- | ||
[[Kategorie: Alle Seiten]] | [[Kategorie: Programmierung ]] | | [[Kategorie: Alle Seiten]] | [[Kategorie: Programmierung ]] | | ||
Version vom 16. Juli 2019, 19:05 Uhr
Inhaltsverzeichnis
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()
| |