黑马程序员技术交流社区

标题: 求解惑,到底什么叫接口? [打印本页]

作者: Abuzzworld    时间: 2015-10-8 23:15
标题: 求解惑,到底什么叫接口?
封装、继承、都挺好理解,多态理解起来就由点麻烦,说道多态,多态的好处还是简化了编程接口,到底什么是接口呢?
父类Animals有run方法,子类Duck重写自己的run方法,子类Chicken也重写自己的run方法,如果想来我想搞个Goose也想有个run方法。Animals *ani通过 [Duck new]  [Chicken new] [Goose new]去调用Duck、Chicken、Goose的run方法叫多态。那么Animals难道就是接口类?
作者: Abuzzworld    时间: 2015-10-9 10:41
{:3_54:}有人解答一下么
作者: 408205555    时间: 2015-10-9 11:03
接口是java中的概念,OC中没有接口的概念,但是OC中协议的功能和java接口的功能基本相同。
协议是用来遵守的。
遵守了协议的类必须实现协议中声明的方法。声明的方法中有选择实现的也有必须要实现的。

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

你还没明白什么是多态。
多态是父类指针指向子类对象,子类实现文件中重写父类方法。
这样做可以实现动态绑定。使程序更加健壮灵活高效。
Animal的子类,重不重写run方法都可以。
作者: wxd123    时间: 2015-10-9 21:42
楼上说的很好,赞!
作者: Brisingr    时间: 2015-10-9 22:40
虽不明但觉厉!
作者: 卫博生    时间: 2015-10-10 19:13
我看完你的问题,也感觉云云的




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2