Wpis z mikrobloga

@infamia: Powodów jest kilka.

Pierwszy z brzegu przykład, który mi przychodzi to implementacja wzorca projektowego singleton. Wtedy tworzysz classmethod, który wygląda mniejwięcej tak:

def singleton(cls):
_if not hasattr(cls, 'instance'):
__cls.instance = cls()
_return cls.instance
  • Odpowiedz
@infamia: Nie musisz wtedy inicjować obiektu w tradycyjny sposób.

Zamiast:
x = JakisObiekt()
x.jakasMetoda()
odwołujesz się bezpośrednio:
JakisObiekt.jakasMetoda()

Innym zastosowaniem jest posiadanie wielu konstruktorów (nie można ich przeciążać w pythonie)
  • Odpowiedz