Une méthode n'est pas forcément dédiée à appliquer un changement d'état. Elle peut par exemple être là juste pour donner des informations qui se rapportent à l'objet.
Prends par exemple un objet "point2D", qui contiendra un x et un y. Cet objet peut parfaitement contenir une méthode statique recevant deux points en paramètre et renvoyant la distance qui les sépare.
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class point2D: def __init__(self, x=0, y=0): (self.x, self.y)=(x, y) @staticmethod def distance(p1, p2): return ((p1.x - p2.x) ** 2 + (p1.y - p2.y) ** 2) ** 0.5
Cette méthode ne s'appliquant pas à un point particulier mais à tout point quelconque devient forcément statique
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 a=point2D(2, 3) b=point2D(4, 5) print(distance(a, b))
Euh... dans mon post précédent j'ai donné un peu un exemple plutôt concret d'une classmethod, non ?
Partager