, , . init() , (, init() Employee -). Factory, User ( ), - . createInstance(insert params here) , init() , . , ( init()), , , .
:
class User() {
public void init() {
}
}
class Employee extends User {
...
public void init() {
super.init();
}
}
class UserFactory{
public User createInstance(UserType type, String name, ...) {
User user;
switch (type) {
case UserType.EMPLOYEE: user = new Employee(name,...);
}
user.init();
return user;
}
}
source
share