在kotlin中包装数据类
我想问一下kotlin中的数据类。 假设我有两个数据类,数据类A和数据类B,我想把我的数据类A包装在数据类B的周围 这是继承类还是内联类,我对Kotlin有点陌生在kotlin中包装数据类,kotlin,Kotlin,我想问一下kotlin中的数据类。 假设我有两个数据类,数据类A和数据类B,我想把我的数据类A包装在数据类B的周围 这是继承类还是内联类,我对Kotlin有点陌生 data class A( var x1:Float?, var y1:Float? ) data class B( var x:Float?, var y:Float?, // other variables and methods ) 谢谢您不能从其他数据类继承Kotlin数据类,但您可以使用接口或抽象类,您的数据类可以实现/
data class A(
var x1:Float?,
var y1:Float?
)
data class B(
var x:Float?,
var y:Float?,
// other variables and methods
)
谢谢您不能从其他数据类继承Kotlin数据类,但您可以使用接口或抽象类,您的数据类可以实现/扩展这些:
abstract class A {
abstract var valueA: Int
}
interface B {
val valueB: Int
}
data class C(
val value2: String,
override var valueA: Int
) : A()
data class D(
override val valueB: Int,
val valueD: String
) : B
两者都不是。但是如果你想问一些关于它的问题,请展示你的代码。我已经用代码更新了这个问题。首先,你的代码甚至不会编译,因为一个数据类必须至少有一个主构造函数属性val或var参数,并且在Kotlin中没有float这样的类型,有float。其次,您的类B与类A无关。它既不从类A继承,也不使用其实例。@jsamol谢谢,我已经相应地更新了代码。但是,A和B之间没有关系,它们只是单独的类。如果你想继承变量x:Float?变量y:浮动?从A开始,只要A是数据类,就不能这样做,因为数据类是最终的,不能扩展。如果A类是一个开放类、抽象类或接口,则可以这样做。如果不是这样,请进一步解释一下你的意思。