黑马程序员技术交流社区

标题: id [打印本页]

作者: 飞奔的小鱼    时间: 2015-11-4 13:02
标题: id
@interface Person : NSObject
@property int age;
@end
#import "Person.h"

int main(int argc, const char * argv[])
{
//    Person *p = [Person new];
//    [p setAge:20];
//    NSLog(@"age = %d", [p age]);
   
    /*
//    多态
    NSObject *p1 = [Person new];
//    [p1 setAge:33];
//    写给编译器看的
    Person *p2 = (Person *)p1;
    [p2 setAge:33];
    NSLog(@"age = %d", [p2 age]);
    */
//      id == NSObject *
//    id的本质: typedef struct objc_object *id;
//    如果用id类型接收一个对象,调用对象特有方法不用进行强制类型转换
//    id 是一个万能指针,可以用来指向任何对象, 注意id后面不要加*
    id p3 = [Person new];
    [p3 setAge:44];
    NSLog(@"age = %d", [p3 age]);
   
//    double double
//    id _id ID
   
    return 0;
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2