KlassenEinfuehrung

Aus ProgrammingWiki

< EGE
Wechseln zu: Navigation, Suche

Klasse definieren:

class Auto:
   def __init__(self, typ_neu, kennzeichen_neu):
       self.typ = typ_neu
       self.kennzeichen = kennzeichen_neu
       self.geschwindigkeit = 0
   def gas_geben(self, geschwindigkeitserhoehung):
       self.geschwindigkeit = self.geschwindigkeit + geschwindigkeitserhoehung
   def geschwindigkeitAngeben(self):
       return self.typ + " fährt gerade " + str(self.geschwindigkeit) + " km/h"
   def faehrt_zu_schnell(self, hoechstgeschwindigkeit):
       if self.geschwindigkeit>hoechstgeschwindigkeit+3:
           return True
       else:
           return False


Konkretes Objekt initialisieren:


caddy = Auto("VW Caddy", "ERZ-AB 34") # "caddy" ist der Name des Objekts
v_neunzig = Auto("Volvo V 90", "ERZ-V 90")


Werte lesen / schreiben:

caddy.gas_geben(20)
caddy.gas_geben(15)
print(caddy.geschwindigkeitAngeben())
if caddy.faehrt_zu_schnell(30):
   print("HG überschritten")


Komplexes Beispiel (schwer):

class Bierflasche: # Namen von Klassen sollten groß geschrieben werden
  def __init__(self, marke_neu):
     self.marke = marke_neu
     self.istLeer = False
 
  def trinkeFlasche(self):
     self.istLeer = True
 
  def zustand(self):
     fuellstand = ""
     if self.istLeer:
        fuellstand = "leere"
     else:
        fuellstand = "volle"
     return "eine " + fuellstand + " Flasche " + self.marke
 
 
class Bierkasten:
  def __init__(self, anzahl, marke_neu):
     self.inhalt = []
     for i in range(anzahl):
        self.inhalt.append(Bierflasche(marke_neu))
 
  def gibFlasche(self, vonPos):
     return self.inhalt[vonPos]
 
  def neueFlasche(self, flasche):
     if len(self.inhalt) < 20:
        self.inhalt.append(flasche)
     else:
         print("Bierkasten ist voll.")
 
  def ausgabe(self):
     print("\nDieser Bierkasten enthält:")
     for einzelflasche in self.inhalt:
        print(einzelflasche.zustand())

# Objekt initialisieren:
fiedler = Bierflasche("Fiedler")
warsteiner = Bierflasche("Warsteiner")
 
kasten1 = Bierkasten(5, "Holsten")
kasten2 = Bierkasten(20, "Becks")

# Werte lesen / schreiben:
kasten1.neueFlasche(fiedler)
kasten2.neueFlasche(warsteiner)
 
print(fiedler.zustand())
fiedler.trinkeFlasche()
print(fiedler.zustand())
 
kasten1.ausgabe()
kasten2.ausgabe()
 
kasten1.gibFlasche(3).trinkeFlasche()
print (kasten1.gibFlasche(3).zustand())
Persönliche Werkzeuge