Les méthodes de classe sont généralement utilisées pour fournir un traitement standardisé ; les méthodes d'instance sont généralement utilisées pour fournir un traitement personnalisé (liaison à des instances spécifiques).
Il ne devrait y avoir ni avantages ni inconvénients.
Si une méthode a les mêmes paramètres d'entrée, la sortie sera affectée par les variables d'instance de différentes instances d'objet. Généralement, elle doit être écrite comme une méthode d'instance.
Si les paramètres d'entrée sont les mêmes mais ne sont pas affectés par les variables d'instance (static n'est pas une variable d'instance), vous pouvez écrire une méthode de classe et la donner à la classe à appeler. Par exemple
Vous pouvez écrire ce type de fantôme en tant que méthode d'instance, mais non seulement celui-ci sera instancié/libéré à chaque appel, mais cela affectera également la lecture du code.
Les méthodes de classe sont plus courantes en mode singleton et en mode usine. Cette classe dans le programme en mode singleton n'a qu'une seule instance ; le mode usine produit différentes instances et les renvoie en fonction des paramètres.
Il n'y a aucun avantage ou inconvénient entre les méthodes, c'est juste pour des raisons de commodité d'utilisation. Si vous devez faire la distinction, ce qui suit doit être considéré comme un point
.
Inconvénients des méthodes de classe : dans les méthodes de classe, self représente une classe, pas un objet de classe, donc dans une méthode de classe, vous ne pouvez pas utiliser self pour appeler des attributs, ni appeler des méthodes d'instance de cette classe. Classe. Avantages de la méthode : simple à appeler, pas besoin de créer des objets
Les méthodes de classe sont généralement utilisées pour fournir un traitement standardisé ; les méthodes d'instance sont généralement utilisées pour fournir un traitement personnalisé (liaison à des instances spécifiques).
Il ne devrait y avoir ni avantages ni inconvénients.
Si une méthode a les mêmes paramètres d'entrée, la sortie sera affectée par les variables d'instance de différentes instances d'objet. Généralement, elle doit être écrite comme une méthode d'instance.
Si les paramètres d'entrée sont les mêmes mais ne sont pas affectés par les variables d'instance (static n'est pas une variable d'instance), vous pouvez écrire une méthode de classe et la donner à la classe à appeler. Par exemple
Vous pouvez écrire ce type de fantôme en tant que méthode d'instance, mais non seulement celui-ci sera instancié/libéré à chaque appel, mais cela affectera également la lecture du code.
Les méthodes de classe sont plus courantes en mode singleton et en mode usine. Cette classe dans le programme en mode singleton n'a qu'une seule instance ; le mode usine produit différentes instances et les renvoie en fonction des paramètres.
Il n'y a aucun avantage ou inconvénient entre les méthodes, c'est juste pour des raisons de commodité d'utilisation. Si vous devez faire la distinction, ce qui suit doit être considéré comme un point
.Inconvénients des méthodes de classe : dans les méthodes de classe, self représente une classe, pas un objet de classe, donc dans une méthode de classe, vous ne pouvez pas utiliser self pour appeler des attributs, ni appeler des méthodes d'instance de cette classe.
Classe. Avantages de la méthode : simple à appeler, pas besoin de créer des objets