Swift vs. Kotlin 漫谈系列之接口
Kotlin 君和 Swift 君在一个团队一起开发已经很久了,由于平台的差异性,他们经常会进行一些技术上的交流(PK),「Kotlin vs. Swift」 系列就是他们在互相切磋时的语录。内容会由简及深,慢慢深入。 技术漫谈Swift: Hi,Kotlin 君,Swift 4 发布了,我们今天就基于 Swift 4 的新语法来讨论一下接口吧? Kotlin: 好啊,接口对我们开发来说是个很重要的概念。设计模式中要求我们写代码要遵循依赖倒置原则,就是程序要依赖于抽象接口,不要依赖于具体实现,也就是要求我们要面向接口编程。 Swift: 是的,在 Swift 中,接口被称为协议(即 Kotlin: 听起来好流比,那来说说你们是怎么定义接口的? Swift: 我们用 protocol SomeProtocol { func f() } 你们呢? Kotlin: 我们同 Java 一样,用 interface MyInterface { fun f() } Swift: 嗯,看起来就是关键字不一样。你们怎么实现接口呢? Kotlin: 一个类要实现某个接口,需要在类型名称后加上协议名称,中间以冒号( class MyClass: MyInterface { override fun f() { // 具体实现 } } 一个类或者对象可以实现一个或多个接口。实现多个接口时,各接口之间用逗号( Swift: 我们也是一样的,只是我们不需要写 class MyClass { //...类的定义 } extension MyClass: SomeProtocol { func f() { // 具体实现 } } Kotlin:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |