A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ai77033024 中级黑马   /  2015-9-15 21:17  /  922 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1. 多态概念,定义
什么是多态:多态就是某一类事物的多种形态;
表现形式:  Animal *ani = [Dog new];
多态条件:1.有继承关系     2.有方法的重写

2.多态代码实现:
//实例化猫的对象
Animal *animal  = [Cat new]; //父类的指针指向子类对象;
[animal eat];

//实例化狗的对象
animal = [Dog new]; //父类的指针指向子类对象。
[animal eat];

3.多态注意点:
1) 如果存在多态,父类是可以访问子类特有的方法
假设子类Dog 有一个特有的方法bark
Animal *an2 = [Dog new];         //编译时看等号左边,运行时看等号右边
[(Dog*)an2 bark]; //把父类的指针,强制类型转换

2) 如果不存在多态,父类是不可以访问子类特有的方法的
Animal *an3 = [Animal new];
[(Dog*)an3 bark]; //错误的,不能强制转换

评分

参与人数 4黑马币 +20 收起 理由
TTsu + 4 很给力!
oxzjsku + 6 赞一个!
杨先生 + 6
songynnm + 4 赞一个!

查看全部评分

2 个回复

倒序浏览
今天学的乱七八糟哦
回复 使用道具 举报
加油,学习到了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马