Objective c 为什么我们使用接口而不是协议?
我认为,除了名称之外,协议更适合用作类之间的“接口”。它们完成了Objective c 为什么我们使用接口而不是协议?,objective-c,Objective C,我认为,除了名称之外,协议更适合用作类之间的“接口”。它们完成了@接口s所做的一切(公开属性和方法),而且不同的类可以实现相同的协议,这与Objective-C的动态特性是一个巨大的优势。那么为什么我们仍然使用@接口s呢?与协议相比,它们有哪些优势?(我希望从这个问题中得到更多的信息,而不是“他们在做什么时是明确的”或“作为非建设性的结束”。代理协议需要这样定义 @protocol //methods @end 它可以放在任何.h类中,只要在使用它时导入它就行了 协议不像java接口,协议是
@接口
s所做的一切(公开属性和方法),而且不同的类可以实现相同的协议,这与Objective-C的动态特性是一个巨大的优势。那么为什么我们仍然使用@接口
s呢?与协议相比,它们有哪些优势?(我希望从这个问题中得到更多的信息,而不是“他们在做什么时是明确的”或“作为非建设性的结束”。代理协议需要这样定义
@protocol
//methods
@end
它可以放在任何.h类中,只要在使用它时导入它就行了
协议不像java接口,协议是允许两个类一起工作的适配器。基本上,它说,如果您希望类A向您发送有关其状态和操作的消息,这些是它将调用其委托的方法,您必须实现这些方法。它不像一个接口,因为接口说如果你想给这个类划分子类,你必须实现这些方法,协议说如果你想和这个类交互,你必须实现这些方法,所以它有些不同
您正在询问OO类和接口(Obj-C调用接口和协议)之间的区别。这是一个非常基本的OO原则问题。你可能会得到你想要的讨论,而不是这里。@MikeWeller如果你认为这是重复的,你没有读我的问题。类==接口是什么?Obj-C接口是传统OO所称的“类”。Obj-C协议是传统OO所称的“接口”。因此,您会问OO类和接口之间的区别是什么,以及何时使用它们。想得更大(多态性)。