-
Notifications
You must be signed in to change notification settings - Fork 2
3.1 Objektorientiertes Programmieren
Patrick edited this page Nov 18, 2024
·
9 revisions
Objektorientierte Programmierung (OOP) ist ein Programmierparadigma, das auf den Konzepten von "Objekten" und "Klassen" basiert. Diese Konzepte ermöglichen es, Software modularer, wartbarer und wiederverwendbarer zu gestalten.
class Auto:
# alle Klasse (außer Subklasse) benötigt __init__
def __init__(self, marke, modell):
self.marke = marke
self.modell = modell
def beschreiben(self): # self müss im jeden Methode übergeben werden
print(f"Dies ist ein {self.marke} {self.modell}.")
mein_auto = Auto("Tesla", "Model S")
mein_auto.beschreiben() Dies ist ein Tesla Model S.
Subklassen
class ElektroAuto(Auto):
# initialisieren Sie Subklasse Eigenschaften wie batterie_kapazitaet
def __init__(self, marke, modell, batterie_kapazitaet):
super().__init__(marke, modell)
self.batterie_kapazitaet = batterie_kapazitaet
# Subklasse Methode
def beschreiben(self):
super().beschreiben() # beschreiben() Methode von Auto Klasse
print(f"Batteriekapazität von {self.batterie_kapazitaet} kWh.")
mein_elektro_auto = ElektroAuto("Tesla", "Model 3", 75) mein_elektro_auto.beschreiben()Dies ist ein Tesla Model 3.
Batteriekapazität von 75 kWh.
Was ist super()? In Python ist super() eine eingebaute Funktion, die ein temporäres Objekt der Oberklasse zurückgibt und es Ihnen ermöglicht, deren Methoden aufzurufen.
Was ist die Ausgabe?
class Base:
def greet(self):
print("Hallo von der Basisklasse")
class Derived(Base):
def greet(self):
super().greet()
print("Hallo von der abgeleiteten Klasse")
d = Derived()
d.greet()Lösung
Hallo von der Basisklasse
Hallo von der abgeleiteten Klasse
Derived hat Base.greet() auch per super().greet(). Deswegen sieht man zwei Begrüßungen.
HTW Berlin Pytorium
ein Python Tutorium für alle, die sich für Python interessieren