File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -66,22 +66,23 @@ class Calculator:
6666 PI = 3.14
6767 E = 2.71
6868
69- def multiply_by_pi (self , number ):
69+ @classmethod
70+ def multiply_by_pi (cls , number ):
7071 """
71- Dies ist eine Instanzmethode.
72- Dies lässt sich daran erkennen, dass der erste Parameter `self` ist.
73- Dieses `self` ist eine Referenz auf das aktuelle Objekt.
72+ Dies ist eine statische Methode mit Klassenreferenz.
73+ Dies lässt sich daran erkennen, dass der erste Parameter `cls` ist
74+ und an dem Dekorator `@classmethod`.
75+ Dieses `cls` ist eine Referenz auf die Klasse.
7476 Da Variablennamen nur innerhalb von Funktionen und Modulen
7577 aufgelöst werden, ist dies nötig.
7678 """
77- return number * self .PI
79+ return number * cls .PI
7880
79- def multiply_by_e (self , number ):
80- return number * self .E
81+ @classmethod
82+ def multiply_by_e (cls , number ):
83+ return number * cls .E
8184
82- c = Calculator () # Instanziierung
83- print (c .multiply_by_pi (5 )) # Aufruf der Methode
84- # Achtung: Was nicht funktioniert: Calculator.multiply_by_pi(5)
85+ print (Calculator .multiply_by_pi (5 )) # Aufruf der Methode
8586
8687class Thing :
8788 """
You can’t perform that action at this time.
0 commit comments