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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Abuzzworld 中级黑马   /  2015-10-8 23:15  /  1856 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

封装、继承、都挺好理解,多态理解起来就由点麻烦,说道多态,多态的好处还是简化了编程接口,到底什么是接口呢?
父类Animals有run方法,子类Duck重写自己的run方法,子类Chicken也重写自己的run方法,如果想来我想搞个Goose也想有个run方法。Animals *ani通过 [Duck new]  [Chicken new] [Goose new]去调用Duck、Chicken、Goose的run方法叫多态。那么Animals难道就是接口类?

5 个回复

倒序浏览
{:3_54:}有人解答一下么
回复 使用道具 举报
接口是java中的概念,OC中没有接口的概念,但是OC中协议的功能和java接口的功能基本相同。
协议是用来遵守的。
遵守了协议的类必须实现协议中声明的方法。声明的方法中有选择实现的也有必须要实现的。

你说的Animal只是一个父类,它不是协议。

你还没明白什么是多态。
多态是父类指针指向子类对象,子类实现文件中重写父类方法。
这样做可以实现动态绑定。使程序更加健壮灵活高效。
Animal的子类,重不重写run方法都可以。
回复 使用道具 举报
楼上说的很好,赞!
回复 使用道具 举报
虽不明但觉厉!
回复 使用道具 举报
我看完你的问题,也感觉云云的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马