如何从2个不同的POJO传递变量?

时间:2016-04-02 06:31:56

标签: java oop abstract-class pojo

我有2个POJO被传递给HttpEntity并转换为json。

在传递它们之前,我需要一个变量,这个变量在两个POJO中都有不同的名称,因为API的需要让我无法改变它们。

Wikipedia中提到的POJO定义中,没有强制转换的最佳方式和OOP方面的最佳方法是什么?

抽象pojo

public abstract class Pojo{

//some common variables
//setter getters

}

PojoOne

public class PojoOne extends Pojo{

private String id;

//setter getter for id

}

PojoTwo

public class PojoTwo extends Pojo{

private String identifier;

// setter getter for identifier
}

分类

public class SomeOtherClass {

public void getIdForUse(Pojo pojo){

String s = pojo. // How should this be to have ability to get both id and identifier

}

}

1 个答案:

答案 0 :(得分:0)

向公共超类添加一个通用方法:

public abstract class Pojo {

    public abstract String getId();

    // some common variables
    // setter getters
}

public class PojoOne extends Pojo {

    private String id;

    @Override
    public String getId() {
        return id;
    }

    //setter for id
}

public class PojoTwo extends Pojo {

    private String identifier;

    // setter getter for identifier

    @Override
    public String getId() {
        return identifier;
    }
}