Lösung zur Übung Klasse für Auto erstellen
Die Aufgabe war, eine Klasse für Autos zu erstellen. Dabei sind die ersten Überlegungen:
- wie benenne ich meine Klasse
- welche Eigenschaften (und später Methoden) sollen meine „Autos“ bekommen?
Grundsätzlich kann man sich überlegen, ob die Benennung Auto denn so glücklich ist? Man kann bei den grundsätzlichen Überlegungen auch weiter verallgemeinern bzw. ähnliches suchen. Ähnlich wäre der Pkw (der PersonenKraftWagen oder in der Schweiz PW für PersonenWagen).
Es handelt sich um ein Fahrzeug mit eigenem Antrieb zum Personen befördern. Also kein Fahrrad, da diese keinen eigenen Antrieb haben. Weiter verallgemeinert wäre es ein Kraftfahrzeug. Wir könnten also für das Auto die Klasse „Pkw“ wählen.
class Pkw():
""" Klasse für das Erstellen von Personenkraftwagen """
Im nächsten Schritt können wir uns überlegen, welche Eigenschaften wichtig sind. Dabei bestimmt unsere Anwendung die Auswahl der Eigenschaften. Für bestimmte Menschen ist zum Beispiel das Material des Interieurs wichtig. Wurzelholz oder kein Wurzelholz – das ist hier die Frage. Wir halten es allgemeiner und wir wollen die wichtigen Dinge als Eigenschaften. Uns interessiert neben
- der Farbe des Autos
- das Baujahr
- der aktuelle KM-Stand
- Anzahl Sitzplätze
- Marke
Also definieren wir diese Eigenschaften in unserer __init__()
-Methode:
class Pkw():
""" Klasse für das Erstellen von Personenkraftwagen """
def __init__(self, farbe, baujahr, kmstand, sitze, marke):
self.farbe = farbe
self.baujahr = baujahr
self.sitze = sitze
self.marke = marke
Aber hier ist wie gesagt die Anwendung wichtig und diese bestimmt die dafür benötigten Eigenschaften. Ganz außen vor ist gerade PS und Kraftstoffverbrauch.
Und jetzt können wir noch ein Objekt instanziieren – sprich wir basteln uns einen Trabi.
class Pkw():
""" Klasse für das Erstellen von Personenkraftwagen """
def __init__(self, farbe, baujahr, kmstand, sitze, marke):
self.farbe = farbe
self.baujahr = baujahr
self.kmstand = kmstand
self.sitze = sitze
self.marke = marke
trabi = Pkw("rot", 1981, 143000, 4, "Trabi")
Als Ergebnis haben wir ein Objekt, mit dem wir nun weiterarbeiten können:
Zum Abrufen der Farbe benötigen wir nach unserer erstellten Klasse mit dem Objekt „trabi“ nur den Aufruf:
print(trabi.farbe)