Python: Klassen: Unterschied zwischen den Versionen

Aus Flinkwiki
Wechseln zu: Navigation, Suche
(Vererbung)
(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, 20:05 Uhr

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()


| |