博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
类的三大特性之一:多态[入门程序示例]
阅读量:6976 次
发布时间:2019-06-27

本文共 1203 字,大约阅读时间需要 4 分钟。

main:

1 #import 
2 #import "Animal.h" 3 #import "Fish.h" 4 #import "Bird.h" 5 6 void doAction(Animal *ani) 7 { 8 [ani action]; //用父类参数ani,调用父类中的action 9 }10 11 int main(int argc, const char * argv[]) {12 @autoreleasepool {13 Animal *animal=[[Animal alloc]init];14 Bird *bird=[[Bird alloc]init];15 Fish *fish=[[Fish alloc]init];16 17 doAction(animal); //传入父类实例animal18 doAction(bird); //传入子类实例bird19 doAction(fish); //传入子类实例fish20 }21 return 0;22 }

Animal.h:

1 #import 
2 3 @interface Animal : NSObject4 -(void)action;5 @end

Animal.m:

1 #import "Animal.h"2 3 @implementation Animal4 -(void)action{5     NSLog(@"Animal Moving~");6 }7 @end

Fish.h:

1 #import "Animal.h"2 3 @interface Fish : Animal4 -(void)action;5 @end

Fish.m:

1 #import "Fish.h"2 3 @implementation Fish4 -(void)action{5     NSLog(@"Fish Swiming~");6 }7 @end

Bird.h:

#import "Animal.h"@interface Bird : Animal-(void)action;@end

Bird.m:

1 #import "Bird.h"2 3 @implementation Bird4 -(void)action{5     NSLog(@"Bird Flying~");6 }7 @end

转载于:https://www.cnblogs.com/wangyang1987/p/5107376.html

你可能感兴趣的文章
第四范式完成C轮融资,金额超10亿元
查看>>
Java图形化:布局方式
查看>>
python 帮助文档、自我解释
查看>>
helm安装配置
查看>>
离线安装k8s 1.9.0
查看>>
my项目的总结2015.8.26编
查看>>
Linux 基金会宣布红队项目,致力于孵化开源安全工具
查看>>
索尼发布无人机相机专利,支持眼部对焦
查看>>
js字符串方法
查看>>
sql server几种读写分离方案的比较
查看>>
Ubuntu阿里云搭建Mono.net环境
查看>>
一对一直播app源码功能操详解方案分享
查看>>
liunx软件安装
查看>>
CentOS7系统下修改网卡为eth0
查看>>
vsftpd企业应用快速部署文档
查看>>
Linux下将Mysql和Apache加入到系统服务里的方法
查看>>
数通手稿留档——BGP
查看>>
AIX5.3安装bash shell
查看>>
Zabbix(六):项目实战之--自动发现nginx调度器及后端web服务集群、自定义参数监控...
查看>>
Python optionParser模块的使用方法
查看>>