Supposons que j'écrive une classe dans Cocoa pour servir de proxy à un serveur. Pour représenter l'état actuel de la connexion, pensez à l'énumération:Conversion d'une énumération en une hiérarchie de classes
enum
{
MyConnectionStatusDisconnected = 0,
MyConnectionStatusConnecting,
MyConnectionStatusConnected,
MyConnectionStatusCount
};
typedef NSUInteger MyConnectionStatus;
je peut avoir en direct dans ma classe proxy comme ceci:
@interface ServerProxy : NSObject
{
MyConnectionStatus connectionStatus;
}
C'est très bien, mais si je veux comprendre une interprétation lisible par l'utilisateur de l'état de la connexion? Je pourrais avoir une fonction statique comme ceci:
+(NSString*)statusStringForInt:(MyConnectionStatus)status;
À ce stade, je quitte rapidement le domaine de la programmation orientée objet.
Quelle serait la meilleure façon de refactoriser cette énumération dans une hiérarchie de classes?
Veuillez consulter. C'est la même réponse. –
Ken
Ce n'est pas vraiment la même question. Les réponses semblent également identiques à ma question. Le problème est comment faire ceci dans une hiérarchie propre. –
Je pensais que vous étiez après une méthode qui retourne une classe avec le même nom que l'énumération. Si vous demandez de vous débarrasser entièrement de l'énumération en faveur d'une hiérarchie de classes, je pense que les gens auront besoin de plus de détails. Les obstacles à l'utilisation des cours ne sont pas clairs pour vous. – Ken