2013-08-19 15 views
5

Qual è il modo migliore per creare un figlio dato un genitore con i dati? sarebbe ok per avere un metodo con tutti i genitori valori sulla classe bambino come:Il modo migliore per creare un oggetto figlio dal suo genitore

public class Child extends Person { 
    public Child(Parent p) { 
    this.setParentField1(p.getParentField1()); 
    this.setParentField2(p.getParentField2()); 
    this.setParentField3(p.getParentField3()); 
    // other parent fields. 
    } 
} 

per copiare i dati oggetto figlio ti genitore?

Child child = new Child(p); 
+1

estende Persona() {Nessuna parentesi richiesta. – initramfs

+0

Perché il tuo 'Bambino' deve essere passato a un' Parent' da creare? –

+0

@tieTYT forse, solo forse, la persona vuole un clone figlio esatto che includa tutti i suoi benefici e cattive abitudini = \ –

risposta

9

mi sento di raccomandare la creazione di un costruttore nella classe padre che accetta un oggetto di tipo Parent.

public class Child extends Parent { 
    public Child(Parent p) { 
    super(p); 
    } 
} 

public class Parent { 
    public Parent(Parent p){ 
     //set fields here 
    } 
} 
+0

+1 È intelligente! –

+9

la creazione di un oggetto 'Person' da un oggetto' Person' sembra in qualche modo inutile. – christopher

+0

Questo è l'intero punto della domanda, suppongo. –

0

Molto più semplice è

 public class Child extends Parent { 
      public Child(Parent p) { 
      //Set fields with parent 
      } 
     } 

vostro bambino ha sempre accesso ai campi del suo genitore dato i modificatori di accesso siano in atto adeguate.

Problemi correlati