Équivalent Objective-C de "override" en C #
Assumer un Véhicule de classe a une méthode appelée "StartEngine", et dans mon sous-classe appelé "Avion" je veux remplacer "StartEngine". Si j'utilise C#, je devrais utiliser la fonction "remplacer" le mot-clé dans l'Avion StartEngine déclaration de méthode/définition.
La raison pour laquelle je me demande, c'est que si au lieu de "StartEngine" de type I "startengine", C# va se plaindre, mais Objective-C n'est pas, grâce à ce mot-clé.
source d'informationauteur Andrei Tanasescu
Vous devez vous connecter pour publier un commentaire.
Toutes les classes et les méthodes d'instance en Objective-C sont expédiés de façon dynamique et peut être redéfinie dans les sous-classes. Il n'y a rien comme le C#'s
override
mot-clé, ou comme sonvirtual
mot-clé.Hé oui, c'est certainement possible. Il n'y a aucun mot-clé override. Il suffit de déclarer une fonction avec un nombre identique de la signature de votre sous-classe, et il sera appelé à la place de la super-classes de la version.
Voici ce que l'Avion startEngine méthode pourrait ressembler à:
Toutes les méthodes en Objective-C sont remplacable, il suffit d'écrire une méthode pour la même signature.