大佬教程收集整理的这篇文章主要介绍了Swift vs. Kotlin 漫谈系列之接口,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
Kotlin 君和 Swift 君在一个团队一起开发已经很久了,由于平台的差异性,他们经常会进行一些技术上的交流(PK),「Kotlin vs. Swift」 系列就是他们在互相切磋时的语录。内容会由简及深,慢慢深入。
Swift:
Hi,Kotlin 君,Swift 4 发布了,我们今天就基于 Swift 4 的新语法来讨论一下接口吧?
Kotlin:
好啊,接口对我们开发来说是个很重要的概念。设计模式中要求我们写代码要遵循依赖倒置原则,就是程序要依赖于抽象接口,不要依赖于具体实现,也就是要求我们要面向接口编程。
Swift:
是的,在 Swift 中,接口被称为协议(即 Protocol
),苹果大大强化了 Protocol
在这门语言中的地位,整个 Swift 标准库也是基于 Protocol
来设计的,可以说 Swift 是一门面向 protocol
编程的语言。
Kotlin:
听起来好流比,那来说说你们是怎么定义接口的?
Swift:
我们用 Protocol
关键字来定义接口:
protocol SomeProtocol { func f() }
你们呢?
Kotlin:
我们同 Java 一样,用 interface
关键字来定义接口:
interface MyInterface { fun f() }
Swift:
嗯,看起来就是关键字不一样。你们怎么实现接口呢?
Kotlin:
一个类要实现某个接口,需要在类型名称后加上协议名称,中间以冒号(:
)分隔:
class MyClass: MyInterface { override fun f() { // 具体实现 } }
一个类或者对象可以实现一个或多个接口。实现多个接口时,各接口之间用逗号(,
)分隔.
Swift:
我们也是一样的,只是我们不需要写 override
关键字,只有当子类复写父类的方法或计算@L_944_13@时才需要用 override
修饰。另外,我们还可以通过扩展类型来实现协议:
class MyClass { //...类的定义 } extension MyClass: SomeProtocol { func f() { // 具体实现 } }
Kotlin:
以上是大佬教程为你收集整理的Swift vs. Kotlin 漫谈系列之接口全部内容,希望文章能够帮你解决Swift vs. Kotlin 漫谈系列之接口所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。