面向对象语言Objective-C三大特性之三--多态
来源:互联网 发布:java获取ip 端口号 编辑:程序博客网 时间:2024/05/20 18:01
多态就是一个父类在声明的时候不确定自己指向哪个子类对象,只有在程序运行时才能确定自己指向哪个子类对象,从而使用一个父类有可以展现出多种子类的形态。
比如:
#import <Foundation/Foundation.h>/**********父类************/@interface Animal : NSObject{ int _age; double _weight;}- (void)setAge:(int)age;- (int)age;- (void)setWeight:(double)weight;- (double)weight;@end@implementation Animal- (void)setAge:(int)age{ _age = age;}- (int)age{ return _age;}- (void)setWeight:(double)weight{ _weight = weight;}-(double)weight{ return _weight;}@end/**********子类1************/@interface Dog: Animal- (void)eat();@end@implementation Dog- (void)eat(){ NSLog("Dog eat");}@end/**********子类2************/@interface Cat: Animal- (void)eat();@end@implementation Cat- (void)eat(){ NSLog("Cat eat");}@endint main(){ //调用子类Dog的eat方法 Animal *a = [[Dog alloc] init]; [a eat]; //调用子类Cat的eat方法 Animal *a = [[Cat alloc] init]; [a eat]; return 0;}
使用注意:
1. 如果一个函数的参数是父类类型,则可以传入父类、子类对象。
2. 不得使用子类类型创建父类对象。
0 0
- 面向对象语言Objective-C三大特性之三--多态
- 面向对象语言Objective-C三大特性之一--封装
- Objective C(OC)面向对象三大特性之:封装
- 面向对象语言Objective-C三大特性之二--继承
- Objective-C基础学习笔记(三)-面向对象的三大特性之封装
- 【Objective-C】面向对象—三大特性
- 面向对象三大特性 之 多态(C#)
- Objective-C基础学习笔记(四)-面向对象的三大特性之继承
- Objective-C基础(面向对象--下--三大特性--继承、多态)
- 面向对象的三大特性之(三)多态
- 面向对象语言三大特性
- 面向对象三大特性 之 封装(C#)
- 面向对象三大特性之 继承
- 面向对象三大特性之封装
- 面向对象三大特性之多态性
- 《面向对象之三大特性》
- 面向对象三大特性之继承
- 面向对象三大特性之封装
- IOS学习 performSelectorOnMainThread 和detachNewThreadSelector的使用
- IE8 下的文件上传问题
- 2014年最受欢迎的6个前端开发框架
- Go语言操作Redis
- 关于Spring中ApplicationContext的说明
- 面向对象语言Objective-C三大特性之三--多态
- 我的前端架构养成记之整洁的工作流
- css编写三角形汇总
- hadoop no xxxx to stop的原因和解决方法
- fork与vfork、exec与system
- Docker应用实践总结
- java异常处理(隐式抛出、显示抛出、直接处理)
- 最常用的JavaScript框架
- PHP 大小写转化函数的笔记