在类似的类中声明变量

时间:2018-03-06 09:44:04

标签: java android

在我的Android项目中,我刚刚做了类似的事情:

Person person;

void onSucceed(Doc doc) {
    person.setName(doc.getName);
    person.setAddres(doc.getAddres);
    ...
    person.setAge(doc.getAge);
}

这两个类不一样,但它们有很多相似的变量。有没有更快的方法可以不重复写person.set...

2 个答案:

答案 0 :(得分:1)

您可以让班级 Doc Person 继承其属性的一部分。

示例:

public class Person
{
  protected int age;
  protected String name;
  protected Address addr;

  //****** SETTER / GETTER ****

}


public class Doc extends Person
{
  private Location medical_center;
  private Family fam;
  private int income;
  //etc


  //**** GETTER /SETTER ****

}

通过这样做,您可以创建一个新的 Doc 对象,并仍使用 Person 类中的getter和setter。但最重要的是,你喜欢的其他课程可以扩展人。

更新:此解决方案仅在Doc代表医生或与人有关的任何其他内容时才有意义。

答案 1 :(得分:0)

我会在Person类中创建一个方法来从Doc对象中收集详细信息。

    public void useDetails(Doc doc) {
        setName(doc.getName());
        setAddres(doc.getAddres());
        setAge(doc.getAge());
    }