Chapter 8 :动态绑定和id类型
1. 示例代码:
1 // 用到的类请参照前面的笔记 2 3 // 两个类中都含有print方法 4 #import "Fraction.h" 5 #import "Complex.h" 6 7 int main(int argc, const char *argv[]) 8 { 9 NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; 10 11 Fraction *f = [[Fraction alloc] init]; 12 Complex *c = [[Complex alloc] init]; 13 14 // 声明dataValue为id类型 15 id dataValue; 16 17 // 对对象的成员变量赋值 18 [f setTo:2 over:5]; 19 [c setReal:10.0f andImaginary:2.5f]; 20 21 // 动态绑定后调用Fraction的print方法 22 dataValue = f; 23 [dataValue print]; 24 25 // 动态绑定后调用Complex的print方法 26 dataValue = c; 27 [dataValue print]; 28 29 [f release]; 30 [c release]; 31 32 [pool drain]; 33 34 return 0; 35 }