j'ai les deux catégories suivantes:Copie en Constructor enfant mais non Parent
public class User {
public Integer userId;
// ...another 50-60 fields
}
public class SuperUser extends User {
}
Je voudrais avoir un constructeur dans SuperUser qui prend un objet de type utilisateur et crée un objet de type super-utilisateur. Par exemple:
public SuperUser(User theUser) {
// not legal -> but I am looking for a one-liner to initialize this with values from theUser
this = theUser;
}
Si l'objet utilisateur n'a pas le constructeur utilisateur (User existingUser), est-il un moyen automatique pour initialiser l'objet SuperUser avec tous les champs de l'objet utilisateur existant? J'essaie d'éviter 50 lignes de:
public SuperUser(User theUser) {
this.firstName = theUser.getFirstName();
this.lastName = theUser.getLastName();
// and so on....
}
Si cela ne peut se faire, est-il un refactoring comme « Créer une copie Constructor? »
Merci!
Je ne pense pas que vous répondez à la question;) – Bozho
Mais, si je me souviens bien, il n'y a pas de vrais constructeurs de copie dédiés à Java, alors comment pouvez-vous les utiliser? – AndrejaKo
Vous les implémentez manuellement. – royal