小编典典

比较 Swift 中的协议与 Java 中的接口

all

我正在阅读Apple developer page

iOS 教程。

在我看来protocolinterface几乎具有相同的功能。

  • 两者之间有什么区别吗?

  • 项目中的不同用法?

更新

的,我确实阅读了上面的链接,但我仍然不确定 和
之间的区别和protocol用法interface。当我提出这样的问题时,我希望看到有关该主题的简单解释。有时可能很难从文档中获取所有内容。


阅读 62

收藏
2022-08-08

共1个答案

小编典典

本质上,协议与 Java 接口非常相似,除了:

  • Swift 协议还可以指定必须实现的属性(即字段)
  • Swift 协议需要通过使用mutating 关键字来处理值/引用(因为协议可以通过结构、枚举或类来实现)。
  • 您可以使用“协议组合”随时组合协议。这取代了旧的快速protocol<A, B>协议组合方式。例如,声明一个必须遵守协议的函数Named参数Aged
    func wishHappyBirthday(to celebrator: Named & Aged) {}
    

这些对于 Java 开发人员来说是显而易见的差异(或者至少是我目前发现的差异)。这里有更多信息。

2022-08-08