我正在将一些Scala代码迁移到Kotlin,它在类和接口(Scala行话中的特征)的层次 struct 中使用方法线性化.
Kotlin有没有类似的东西? 有什么解决办法吗? https://www.geeksforgeeks.org/trait-linearization-in-scala/个
下面是一个使用线性化的简单Scala示例:
class old_Car
{
def method: String= "old car "
}
// defining new_Car_Designs trait
trait new_Car_Designs extends old_Car
{
override def method: String ="Designing-> "+ super.method
}
// defining new_Car_Part trait
trait new_Car_Part extends old_Car
{
override def method: String = "Add new part-> "+ super.method
}
// defining new_Car_Paint trait
trait new_Car_Paint extends old_Car
{
override def method: String = "Repainting-> "+ super.method
}
// defining new_Car class
class new_Car extends new_Car_Paint with
new_Car_Part with new_Car_Designs
{
override def method: String = "new car-> "+ super.method
}
// Creating object
object geekforgeeks
{
// Main method
def main(args: Array[String])
{
// new_Car object
var car1 = new new_Car
println(car1.method)
}
}
输出:
new car-> Designing-> Add new part-> Repainting-> old car
相关信息: