13

私はコトリンを学んでいます。私のコードは次のとおりです。

   interface BaseLogicDecoupler<A : BaseViewNotifier, B : BaseScreenRouter> {

        var notifier: A?
        var router: B?

        fun attachNotifier(notifier: A?) {
            this.notifier = notifier
        }

        fun detachNotifier() {
            notifier = null;
        }

        fun attachRouter(router: B?) {
            this.router = router
        }

        fun detachRouter() {
            router = null;
        }
    }

しかし、それを変更して、次のようなプロパティのアクセサーを提供しようとすると:

var notifier: A?
    get() = notifier 

次のエラーでコンパイルされません: Property in interface cannot have a backing field

ドキュメントhereから、kotlin インターフェイスは実装を提供でき、アクセサーを持つプロパティを持つことができます。コンパイルが失敗するのはなぜですか?

エラーを理解できません。それは何と言っていますか?誰でも簡単に説明できますか?

4

1 に答える 1