假设我有两个类:
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)
。那么,至少您只需要编写一次代码。