Comment puis-je faire en sorte que toute classe héritant de ma classe de base soit forcée de remplacer une méthode spécifique? Je ne veux pas utiliser de protocole, car cela ne rendrait pas ce comportement automatisé.Forcer les classes enfants à surcharger la méthode
@interface MyBaseClass : NSObject
{
}
- (void)performAnAction;
@end
@implementation MyBaseClass
- (void)performAnAction
{
@throw([NSException exceptionWith...]);
}
@end
Il n'est donc pas possible d'afficher un avertissement non plus? – aryaxt
Non. Il suffit de documenter correctement la classe pour qu'il soit évident que cette méthode doit être surchargée. –
Cela ne fonctionnera pas si la sous-classe appelle [super performAction]; –