Vidéo: Zeitgeist: Addendum (2008) 2025
Méthodes La déclaration pour les applications iOS peut sembler bizarre à quiconque connaît mieux d'autres langages, tels que Java ou C ++. N'oubliez pas que toutes les méthodes public de la classe sont déclarées dans la section de déclaration des méthodes du fichier d'interface, en utilisant le format suivant:
:
L'initiale - indique que la méthode est une instance méthode. A + indique que la méthode est une méthode de classe. Chaque définition de paramètre dans la liste des paramètres ressemble à ceci:
:
Encore une fois, regardez la méthode dans la spécification d'interface pour StackOfInteger:
@interface StackOfInteger: NSObject {Notez que pour le premier paramètre - ou s'il n'y a que un paramètre - l'étiquette est non fournie. Voici un exemple de méthode dans StackOfInteger (avec deux paramètres):
- (void) push2: (int) intValue1 autre: (int) intValue2;Rappelez-vous qu'il existe une méthode (sans jeu de mots) derrière cette folie. Les étiquettes rendent l'invocation de méthode plus lisible. Par exemple, [anArray insertObject: anObject atIndex: 5] est plus lisible que [myArray insertObject: anObject: 5], où la signification du second paramètre n'est pas claire. Par conséquent, dans le programme postfixall
push2: 5 autre: 6;est un peu plus compréhensible que
push2: 5: 6;bien que les deux signifient exactement la même chose.
Seules les méthodes publiques doivent être déclarées dans le fichier d'interface. Votre programme peut également contenir des méthodes privées et des fonctions C. Ceux-ci n'ont pas à être déclarés dans le fichier d'interface.
Notez que la méthode CreateWithExpression est une méthode de classe que vous pouvez utiliser à la place de initWithExpression pour créer une instance d'un PostfixCalculator déjà pré-initialisé avec une expression postfix.
Notez que les méthodes de classe ne sont pas les mêmes que les fonctions statiques que vous pourriez déclarer dans votre fichier. Les méthodes de classe peuvent être héritées et remplacées par des sous-classes. Les méthodes statiques ne peuvent pas.
Fait intéressant, les variables d'instance au niveau de la classe n'existent pas en Objective-C. Cependant, ils peuvent être simulés. Pour un exemple de procédure, consultez Variables d'instance à un niveau de classe.
Vous ne pouvez pas avoir deux méthodes avec le même nom mais un nombre différent, ou même un ordre différent de paramètres. En d'autres termes, la surcharge de méthodes n'est pas possible, ce qui n'est pas le cas de la plupart des langages OO courants tels que C ++ et Java.
