有没有办法从超类的对象实例化类,而无需手动分配所有变量?



假设我有两个类:

class User {
String name;
String age;
DateTime birthDate;
User(this.name);
}
class Teacher extends User {
String className;
Teacher(String name): super(name);
Teacher.fromUser(User user, this.className): super(user.name);
}

做以下事情很容易。但是如果超级类有30个字段呢?有没有一种方法可以制作一个构造函数,无需复制所有变量:

Teacher.fromUser(User user) {
this.id = user.id;
this.firstName = user.firstName;
this.lastName = user.lastName;
this.gender = user.gender;
...

否。无法自动将字段从一个对象复制到另一个对象。

如果有多个类需要该行为,则可以在复制所有字段的User类上添加copyFrom(User),然后在子类上调用this.copyFrom(user)。那么,至少您只需要编写一次代码。

最新更新