Kotlinは、Swiftのプロトコルコンポジションと同様のインターフェイスコンポジションをサポートまたは将来計画していますか?

langtutheky

私がこれまでに見つけた答えはおそらくNOですが、この機能の将来のサポートの計画はあるのでしょうか。これがSwiftでの様子です。

プロトコル構成の形式は、SomeProtocolおよびAnotherProtocolです。アンパサンド(&)で区切って、必要な数のプロトコルをリストできます。プロトコルのリストに加えて、プロトコル構成には1つのクラスタイプを含めることもできます。これを使用して、必要なスーパークラスを指定できます。

protocol Named 
{
    var name: String { get }
}

protocol Aged 
{
    var age: Int { get }
}

func wishHappyBirthday(to celebrator: Named & Aged) 
{
    print("Happy birthday, \(celebrator.name), you're \(celebrator.age)!")
}
marstran

Kotlinで交差型を明示的に定義することはできませんが、ジェネリック型制約を使用して関数パラメーターで交差型を実現できます。このような:

interface Named {
    val name: String
}

interface Aged {
    val age: Int
}

fun <T> wishHappyBirthday(celebrator: T) where T : Named, T : Aged {
    println("Happy birthday, ${celebrator.name}, you're ${celebrator.age}!")
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ