ich kämpfe im Moment mit der objektorientierten Programmierung. Wobei es kämpfen richtig gut trifft.
Ich habe folgendes "Programm" gebaut.
Code: Alles auswählen
class pc:
lagerstand = 10
def verkaufen(self, menge):
pc.lagerstand -= menge
print pc.lagerstand
desktop = pc()
Ich definiere eine Klasse pc.
Die Klasse pc hat die Eigenschaft lagerstand = 10
Weiters definiere ich die Methode verkaufen
Meine Probleme:
Mir ist nicht klar, warum man bei der Definition der Methode immer das self benötigt? Kann mir das eventuell bitte jemand erklären?
Statt pc.lagerstand -= menge könnte ich auch self.lagerstand -= menge schreiben. Das pc.lagerstand erscheint mir logisch. (Greife auf den Wert lagerstand von pc zu), was das self.lagerstand aussagt ist mir wiederum schleierhaft. Self bezieht sich in dem Fall ja auf die Methode verkaufen, oder? In verkaufen gibt es aber gar keinen lagerstand, also warum dann self.lagerstand?
Vielen Dank im Voraus!
LG
Daniel