Différences de méthodes de classe en Python : non liées, liées et statiques
En Python, les méthodes de classe peuvent être classées en trois types : non liées, lié et statique. Comprendre leurs distinctions est crucial pour une programmation orientée objet efficace.
Méthodes liées
Les méthodes liées sont celles qui nécessitent une instance de la classe comme premier argument lorsqu'elles sont invoquées. Par exemple, la méthode method_one dans le code suivant est une méthode liée :
class Test(object): def method_one(self): print "Called method_one"
Pour appeler une méthode liée, une instance de la classe doit être fournie. Par exemple :
a_test = Test() a_test.method_one()
Méthodes non liées
Les méthodes non liées sont essentiellement des méthodes de classe qui n'ont pas été liées à une instance de la classe. En Python, toutes les méthodes de classe ne sont initialement pas liées. Par exemple, la méthode method_two dans l'extrait de code ci-dessous est une méthode indépendante :
class Test(object): def method_two(): print "Called method_two"
Les méthodes indépendantes ne peuvent pas être appelées directement sur les instances de la classe. Au lieu de cela, ils doivent être liés à une instance avant d'être invoqués. Ceci peut être réalisé en utilisant le nom de la classe comme premier argument, comme indiqué ci-dessous :
Test.method_two()
Méthodes statiques
Les méthodes statiques sont des méthodes qui ne sont pas liées à une instance d'une classe et ne nécessitent pas d'instance comme premier argument. Ils sont déclarés à l'aide du décorateur @staticmethod. Par exemple :
class Test(object): @staticmethod def method_three(): print "Called method_three"
Les méthodes statiques peuvent être appelées directement sur la classe ou sur une instance de la classe. Par exemple :
Test.method_three() a_test = Test() a_test.method_three()
Résumé
En résumé, la principale différence entre les méthodes de classe en Python réside dans leur statut de liaison. Les méthodes liées nécessitent une instance comme premier argument, les méthodes non liées doivent être liées à une instance avant d'être invoquées, et les méthodes statiques ne sont pas liées aux instances et ne nécessitent pas d'instance comme argument.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!