EGE/KlassenEinfuehrung

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

'''Klasse definieren:'''

 class Auto: # Namen von Klassen sollten groß geschrieben werden
   def __init__(self, typ_neu, kennzeichen_neu, geschwindigkeit_neu):
      self.typ = typ_neu
      self.kennzeichen = kennzeichen_neu
      self.geschwindigkeit = int(geschwindigkeit_neu)
   
   def geschwindigkeitAusfuehrlichAusgeben(self):
      return self.typ + " fährt grade " + str(self.geschwindigkeit) + " km/h"



'''Konkretes Objekt initialisieren:'''


 caddy    = Auto(   "VW Caddy"   , "ERZ-AB 34", 102) # "caddy" ist der Name des Objekts
 roomster = Auto("Skoda Roomster", "ERZ-CD 56",   0)



'''Werte lesen / schreiben:''' (eigentlich unüblich)

 print (caddy.typ) # schreibt "VW Caddy"
 caddy.kennzeichen = "ANA-XY 12"
 if caddy.geschwindigkeit>53:
    print ( caddy.geschwindigkeitAusfuehlichAusgeben() )


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