007.id 类型

来源:互联网 发布:618也买酒淘宝店 编辑:程序博客网 时间:2024/06/08 06:54
---------------  FKPerson.h  ---------------
#import<Foundation/Foundation.h>

@interfaceFKPerson : NSObject
- (void) say: (NSString*) content;
@end

---------------  FKPerson.m  ---------------
#import"FKPerson.h"

@implementationFKPerson
- (void) say: (NSString*) content
{
     NSLog(@"%@" , content);
}
@end

---------------  main.m  ---------------
#import<Foundation/Foundation.h>
#import"FKPerson.h"

intmain()
{
   
//定义id类型的变量,并将FKPerson对象赋给该变量
   id p = [[FKPerson alloc] init];
   // 程序将在运行时执行动态绑定,因此实际执行FKPerson对象的say:方法
    [psay:@"你好"];
}

一、编写本节代码的具体步骤:
1.可仿照第二章001节的代码编写步骤。

二、本节代码涉及到的知识点:
1.id类型,可以代表所有对象的类型。
2.任何一个类的对象,都可以赋值给id类型的变量。
3.当通过id类型的变量来调用方法时,会执行动态绑定。
4.所谓动态绑定,就是说OC会跟踪对象所属的类,它会在运行时判断该对象所属的类。
  并在运行时确定需要调用的方法,而不是在编译时确定要调用的方法。

0 0