您的位置:首页 > 其它

OC-多态

2015-07-09 07:20 232 查看

1.多态:多种形态

1> 没有继承就没有多态

2> 代码体现:父类类型指针指向子类对象

eg:

#import <Foundation.Foundation.h>

@interface Animal : NSObject
- (void)eat;
@end

@implementation Animal
- (void)eat
{
NSlog(@"动物吃东西");
}
@end

@interface Dog : Animal
- (void)eat;
@end

@implementation Dog
- (void)eat
{
NSlog(@"Dog吃东西");
}
@end

int main()
{
//多种形态
Dog *d = [Dog new];// Dog类型

//多态;父类指针指向子类对象
Animal *a = [Dog new];

[a eat];//调用方法时,检测对象的真实类型

rerurn 0;
}

2.优缺点

1> 好处:如果函数\方法的参数类型使用的父类类型,可以传入子类和父类对象

2> 局限性:父类类型变量不能够直接调用子类特有的方法(编译过程会有警告)。必须强转为子类类型便后后,才能够直接调用子类特有的方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: