说我有2个班级:
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;
...
答案 0 :(得分:0)
不。 无法自动将字段从一个对象复制到另一个对象。
如果有多个需要该行为的类,则可以在copyFrom(User)
类上添加一个User
,该类将复制所有字段,然后仅在子类上调用this.copyFrom(user)
。然后,您至少只需编写一次代码即可。