J'ai la classe X, une classe abstraite, et les classes A et B qui en héritent. Les classes A et B ont chacune leur propre fonction 'return_something'. J'ai une autre méthode ailleurs qui appelle 'return_something' sur une série d'objets, tous de type X. 'return_something' renvoie quelque chose de différent selon qu'il s'agit d'un A ou d'un B, donc je peux juste appeler id * result = [x return_something).Héritage dans Objective-c et Fonctions
Je peux concevoir tout cela bien, mais quand je viens de l'implémenter je ne sais pas quoi mettre dans la classe X, le parent. Il doit avoir une fonction 'return_something' pour pouvoir être appelé, mais la fonction elle-même est définie dans les classes enfant. Je peux le déclarer dans le parent et les deux enfants, mais Je n'ai rien à retourner de l'implémentation X - l'objet retourné dépend de la redéfinition de l'enfant.
Ce serait bien pour une méthode non-retour, mais comment est-ce que je suis censé utiliser l'héritage et le polymorphisme avec une fonction?
classes abstraites ne sont pas quelque chose qui va bien avec Objective-C. Il y a des clusters de classes comme une sorte de remplacement. –
Les classes n'ont pas de fonctions dans Objective-C. Ce dont vous parlez, ce sont des méthodes. Juste pour être clair. – Chuck
Ouais, j'utilisais juste la fonction parce qu'elle retourne quelque chose. Alors, que feriez-vous pour différencier quelque chose avec et sans type de retour (autre que le vide)? –