本章例题比较简单 不再一一列出
int main(int argc, const char * argv[]) {
@autoreleasepool {
//第3题
id dataValue;
XYpoint *myXYpoint=[[XYpoint alloc]init];
[myXYpoint setX:22 andY:33];
dataValue=myXYpoint;
[myXYpoint printf];
//第5题
Fraction *fraction=[[Fraction alloc]init];
Complex *complex=[[Complex alloc]init];
id number=[[Complex alloc]init];
if([fraction isMemberOfClass:[Complex class]]==YES)
NSLog(@"fraction is member of complex class");
if([complex isMemberOfClass:[NSObject class]]==YES)
NSLog(@"complex is member of NSObject class");
if([complex isKindOfClass:[NSObject class]]==YES)
NSLog(@"complex is kind of NSObject ");
if([fraction isKindOfClass:[Fraction class]]==YES)
NSLog(@"fraction is kind of Fraction ");
if([fraction respondsToSelector:@selector(print)]==YES)
NSLog(@"fraction responds to print:method");
if([complex respondsToSelector:@selector(print)]==YES)
NSLog(@"complex responds to print:method");
if([Fraction instancesRespondToSelector:@selector(print)]==YES)
NSLog(@"instances of Fraction respond to print:method ");
if([number respondsToSelector:@selector(print)]==YES)
NSLog(@"instances of number respond to print:method");
if([number isKindOfClass:[complex class]]==YES)
NSLog(@"number is kind of complex");
if([[number class] respondsToSelector:@selector(alloc)]==YES)
NSLog(@"number class respond to alloc method");
}
return 0;
}