多做题,通过考试没问题!

iOS面试知识竞赛

睦霖题库>其他知识竞赛>iOS面试知识竞赛

oc中的协议和java中的接口概念有何不同?

正确答案: OC中的代理有2层含义,官方定义为 formal和informal protocol。前者和Java接口一样。 
informal protocol中的方法属于设计模式考虑范畴,不是必须实现的,但是如果有实现,就会改变类的属性。 
其实关于正式协议,类别和非正式协议我很早前学习的时候大致看过,也写在了学习教程里 
“非正式协议概念其实就是类别的另一种表达方式“这里有一些你可能希望实现的方法,你可以使用他们更好的完成工作”。 
这个意思是,这些是可选的。比如我门要一个更好的方法,我们就会申明一个这样的类别去实现。然后你在后期可以直接使用这些更好的方法。 这么看,总觉得类别这玩意儿有点像协议的可选协议。” 
现在来看,其实protocal已经开始对两者都统一和规范起来操作,因为资料中说“非正式协议使用interface修饰“,现在我们看到协议中两个修饰词:“必须实现(@requied)”和“可选实现(@optional)”。
答案解析:
进入题库查看解析

微信扫一扫手机做题