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> 局限性:父类类型变量不能够直接调用子类特有的方法(编译过程会有警告)。必须强转为子类类型便后后,才能够直接调用子类特有的方法。
相关文章推荐
- OC-继承
- C++用纯虚函数实现协议委托的例子
- netty 数据分包、组包、粘包处理机制
- OC-封装、继承、多态
- OC类与对象
- OSChina 周四乱弹 —— “面向对象编程”没几个人懂
- Netty系列之Netty编解码框架分析
- socket write read 阻塞 非阻塞
- Allegro制作椭圆形flash的流程
- FFmpeg滤镜代码级分析
- OC基础学习
- 360广告联盟上线了
- 程序员的另一出路:大数据工程师
- Netty解决半包(TCP粘包/拆包导致)读写问题
- C语言学习总结
- C语言学习-指针
- 不只是看上去很美(第二弹:打造最美3D机房)
- Uplooking notes 03day
- Oracle查看和修改连接数
- linux下启动关闭oracle