A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ZXY66452 中级黑马   /  2015-12-7 22:04  /  560 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Objective-C的id类型
C++ 使用的是强类型:对象必须符合其类型,否则不能通过编译。在 Objective-C 中,id类型类似于(void*) ,可以指向任何类的实例。而不需要强制转换。
下面看看使用,
先把Teacher类中的 teach方法修改一下,改成

-(void)teach
{
    NSLog(@"%@ 教数学" ,name);
}
然后实现并调用


  • NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];  
  • Person *person = [[Person alloc] init];  
  • Teacher *teacher = [[Teacher alloc] init];  
  •   
  • id p = person;  
  • id t = teacher;  
  • [t setName:@"张三老师"];  
  • [t teach];  
  •   
  • [person release];  
  • [teacher release];  
  • [pool release];  

打印结果:


  • 2012-07-04 14:57:55.905 ObjectiveCTest[3085:f803] 张三老师 教数学  


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马