ios视频学习 3.6 OC多态和动态绑定

来源:互联网 发布:linux安装镜像文件 编辑:程序博客网 时间:2024/06/14 17:31

id类型,可称为动态类型

id car2;

Car car;

将car=>car2 ,则car2自动被识别为Car类型,可以使用Car类的方法。

多态:父类声明的变量指向子类的对象。

比如:id car;

car=[[奔驰 alloc] init];

[car 奔驰的方法];


也可以等于


car=[[宝马 alloc] init];

[car 宝马的方法];


在父类Car类声明:

-(id)initWithName:(NSString*)_name withSpeed:(float)speed withID:(int)id

{

if(self = [super init])

{

name=_name ;等等

}

return self;

}

在main.m函数中:

父类Car car=[[奔驰 alloc] initWithName:@"奔驰" withSpeed:120 withID:10002];

父类Car car=[[宝马 alloc] initWithName:@"宝马" withSpeed:120 withID:10002];

父类的对象car既可调用奔驰的方法,也可调用宝马的方法。

0 0
原创粉丝点击