Я очень новичок в объекте C, и я хочу знать, возможно ли, как и как я хотел бы сделать. У меня есть несколько классовОбъект Objective-C, созданный базовым классом, в определенный класс
@interface A: NSObject
{
NSString* Aa;
NSUInteger Ab;
}
@interface B: A
{
NSString* Ba;
NSUInteger Bb;
}
@interface C: A
{
NSString* Ca;
NSUInteger Cb;
}
Я хочу создать функцию, где я ожидал «A» типа объекта и в чеке implementataion, если их типа B или C позже. Вот что я хочу:
-(void)doSomething:(A *param)
{
//do some stuff
if(param is an inscance of B)
{
//do stuff with B
}
else
{
//do stuff with C
}
}
Как это сделать?
С уважением,
Золи
Но в идеале вы использовали бы полиморфизм и утиную типизацию: определите общие методы в 'A', затем переопределите эти методы в' B' и 'C', чтобы делать вещи, специфичные для B и C. (В этом случае, в зависимости от того, должен ли 'A' знать, как делать что-либо само по себе, вы можете сделать сам' A' скорее протоколом, чем классом.) – echristopherson