gpt4 book ai didi

Scala:扩展参数化类时处理不同的构造函数

转载 作者:行者123 更新时间:2023-12-03 03:06:48 25 4
gpt4 key购买 nike

我正在编写 scala 代码,并且希望在扩展参数化类时处理不同的构造函数。例如:

class Person (val name:String, val age: Int)
class Employee(name:String, age:Int, val position:String)
extends Person(name, age)

但是,我想要的是 Employee 可以有两个构造函数,其中一个使用 Person 的信息来构造,一个使用另一个 Employee 来构造:

val emply1 = new Employee(yzh, 30, CEO)
val emply2 = new Employee(emply1)

如果我希望两个构造函数都能工作,我该怎么做?

谢谢!

最佳答案

如果你想要两个构造函数,你只需编写两个构造函数:

class Person(val name: String, val age: Int)
class Employee(name: String, age: Int, val position: String) extends
Person(name, age) {
def this(e: Employee) = this(e.name, e.age, e.position)
}

val emply1 = new Employee("yzh", 30, "CEO")
val emply2 = new Employee(emply1)

关于Scala:扩展参数化类时处理不同的构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43445554/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com