objective-c - 在Obj-C中实例方法和类方法的区别是什么?
習慣沉默
習慣沉默 2017-05-02 09:20:30
0
3
720

实例方法,即需要实例化对象调用的方法。
类方法,即类直接调用的方法。

我不明白什么场合用类方法,什么场合用实例方法。两者相比较真正的优势和劣势又是什么?

習慣沉默
習慣沉默

répondre à tous(3)
迷茫

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

- (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.

阿神

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!