在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数据类,但您可以使用接口或抽象类,您的数据类可以实现/

我想问一下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数据类,但您可以使用接口或抽象类,您的数据类可以实现/扩展这些:

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类是一个开放类、抽象类或接口,则可以这样做。如果不是这样,请进一步解释一下你的意思。