Inspiriert durch das Kapitel objektorientiertes Programmieren in Python, habe ich es gewagt, einen Abstecher in diese Richtung zu machen.
Vorweg: Es ist nicht ganz einfach. 🙂 Für mich -als nicht programmierer- ist einiges nicht „einfach mal so“ nachvollziehbar.
Grundlagen
In der oo-P (objektorientierten Programmierung) gibt es Klassen und Methoden und Attribute. Das ist zumindest das, was ich bislang „gelernt“ habe.
Nehmen wir folgendes Beispiel:
class artikel: # Es wird die Klasse artikel definiert def __init__(self): self.lagerstand = 0 # Diese Klasse bekommt das Attribut lagerstand = 0 def erfassen (self, menge): # Es wird die Methode "erfassen" definiert self.lagerstand = self.lagerstand + menge def verkaufen(self, menge): # Es wird die Methode "verkaufen" definiert self.lagerstand = self.lagerstand - menge print 'Lagerstand: ', self.lagerstand notebook = artikel() # Erzeugt eine sog. Instanz der Klasse artikel desktop = artikel () # Erzeugt eine weitere sog. Instanz der Klasse artikel
Somit haben wir nun also die Klasse artikel. In der Klasse artikel, sind die Methoden erfassen und verkaufen definiert. wobei diese Methoden genau eine Variable entgegen nehmen, nämlich die menge der verkauften bzw. der eingekauften Artikel.
Starten wir nun das Programm und geben in der Python Shell folgendes ein:
notebook.erfassen(5)
nimmt die Instanz notebook der Klasse Artikel als den Wert 5 als Variable menge entgegen und rechnet dann lt. Programm self.lagerstand = self.lagerstand + menge aus.
Da Lagerstand = 0 haben wir dann also den lagerstand 5.
Die Eingabe von
notebook.lagerstand
in der Python-Shell ruft die Variable lagerstand der Klasseninstanz notebook auf. Diese sollte jetzt auf 5 stehen.
desktop.lagerstand ist noch bei null, da wir ja mit der Instanz notebook gearbeitet haben.
Soweit, so gut… jetzt heißt es üben üben üben und vor allem verstehen 🙂