实现使用类的属性

时间:2019-09-19 08:11:58

标签: kotlin

在以下代码中:

class MyValidator: MySubject {        
    override val subject = NonNullableBehaviourSubject(ValidationResponse())
}


class NonNullableBehaviourSubject<T : Any>(defaultValue: T) : Subject<T>() {
{

interface MySubject {
   var subject: ...
} 

MyValidator实现接口MySubject。该接口具有称为主题的属性。如何为NonNullableBehaviourSubject类定义此属性?

1 个答案:

答案 0 :(得分:0)

interface A<T: Any> {
    val c: C<T>
}

class B<T: Any> : A<T> {
    override val c: C<T> = C<T>()
}

class C<T: Any> {

}

不言自明。如果您需要将实现设为val或将其声明为val,并且您的实现也应使用var,请在界面中将字段声明为var

编辑:由于它是泛型,因此您也必须传入类型。