Maison > Questions et réponses > le corps du texte
实例方法,即需要实例化对象调用的方法。
类方法,即类直接调用的方法。
我不明白什么场合用类方法,什么场合用实例方法。两者相比较真正的优势和劣势又是什么?
迷茫2017-05-02 09:22:30
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).
曾经蜡笔没有小新2017-05-02 09:22:30
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
- (NSString *)getCertainString
{
return @"The string."
}
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.
阿神2017-05-02 09:22:30
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