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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Ye•Ye 中级黑马   /  2014-5-6 14:24  /  1688 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Object-c的类可以多重继承么?可以实现多个接口么?我看李明杰老师的视频里没有提到接口的概念啊,还是说OC里类的声明就是接口?

评分

参与人数 1技术分 +1 收起 理由
jing迪 + 1

查看全部评分

7 个回复

倒序浏览
多继承肯定是不行的,OC是单继承,接口的话,还不清楚
回复 使用道具 举报
Object-c是单继承的,接口可能就是协议吧
回复 使用道具 举报
Object-c的类不可以多重继承;可以实现多个接口,通过实现多个接口可以完成oc的多重继承
回复 使用道具 举报
OC里的接口介绍协议(category)
面向对象的语言,继承应该都是单继承的,一个子类只能有一个父类,一下出来两个爹,这谁受得了
实现接口可以实现多个,接口只是一种行为规范,实现一种行为规范意味着这个类具有了某种能力,一个类具有多种行为能力当然是可以的,也是应对需求变更时的主要手段。
多态更多是源于继承,它使得一个类在不同的环境下可以展现不同的功能。声明一个父类变量,实现它的子类赋给它,这样这个子类在某些环境下可以当做父类使用(因为它继承父类),也可以在其他场合使用父类没有的功能(子类往往会增加自己的功能或者重写父类的方法)这是多态最基本的使用
当然实现接口也可以达到多态的应用

PS:OC中的接口(协议)可以选择性的实现,不像C#中的接口,如果实现了一个接口,那么接口中声明的所有方法,甭管是否需要全部都得实现,这样很容易造成接口污染
回复 使用道具 举报
OC中是单继承,你所谓的接口是Java语言才有吧。
回复 使用道具 举报
OC中所有类都是NSObject类的子类,多继承使用protocol委托代理来实现的
回复 使用道具 举报
OC当然不可以多继承了,它是单继承。另外接口我记得应该java的概念,相当于OC的协议。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马