Typealias - 在 Kotlin 中组合多个接口

Mic*_*ick 13 java kotlin

我对 Kotlin 中的协议组合有点生疏,我只想通过声明自定义来组合多个接口typealias

// This doesn't work
typealias MyType = (ReadableInterface && WritableInterface)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?


Swift中,我会这样做:

typealias MyType = ReadableInterface & WritableInterface
Run Code Online (Sandbox Code Playgroud)

Objective C中,我会这样做:

typedef <ReadableInterface, WritableInterface> MyType; 
Run Code Online (Sandbox Code Playgroud)

Evg*_*kin 8

为什么不直接创建新的界面呢?

interface MyType : ReadableInterface, WritableInterface
Run Code Online (Sandbox Code Playgroud)

  • 因为你现在必须修改所有类,而其他语言中的类则没有这个限制...我没有得到 koltin 的这种限制...当然 swift 有其他的和很多,但这比 Java 更糟糕,我需要定义具有多种类型的构造函数,并且不能在 koltin anf 污染中干净地做到这一点,我的代码与另一个接口对我来说不是一个很好的解决方案。 (2认同)