2013-08-19 77 views
5

哪种方法可以创建给父母数据的子项? 难道是确定有一个方法与所有父母对孩子班级为值:从其父项创建子对象的最佳方法

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

复制父数据TI子对象?

Child child = new Child(p); 
+1

extends Person(){不需要括号。 – initramfs

+0

为什么您的“孩子”需要传递一个“父”来创建? –

+0

@tieTYT也许,也许,这个人想要一个确切的孩子克隆,包括他所有的好处和坏习惯= \ –

回答

9

我会建议创造接受Parent类型的对象的父类的构造函数。

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

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

+1这很聪明! –

+9

从“Person”对象创建一个'Person'对象似乎有些没有意义.. – christopher

+0

这是我想的问题的整个观点。 –

0

简单多是

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

你的孩子对象总是具有访问给予适当的访问修饰符其父的领域很到位。

相关问题