Допустим, я пишу класс в Какао, чтобы действовать как прокси для сервера. Чтобы представить текущее состояние соединения, рассмотрите перечисление:
enum
{
MyConnectionStatusDisconnected = 0,
MyConnectionStatusConnecting,
MyConnectionStatusConnected,
MyConnectionStatusCount
};
typedef NSUInteger MyConnectionStatus;
Возможно, он будет работать в моем прокси-классе следующим образом:
@interface ServerProxy : NSObject
{
MyConnectionStatus connectionStatus;
}
Это нормально, но что, если я хочу выяснить понятную пользователю интерпретацию состояния соединения? У меня может быть статическая функция, подобная этой:
+(NSString*)statusStringForInt:(MyConnectionStatus)status;
На данный момент я быстро покидаю сферу объектно-ориентированного программирования.
Как лучше всего преобразовать это перечисление в иерархию классов?