Java接口-参数多态

Java中,实现接口参数方法需要参数多态性的“正确”方法是什么?

例如,我的界面包含:

public int addItem(Object dto);

该接口由各种类实现,但是在每个dto参数中,它们是各种强类型对象之一,例如planeDTO,trainDTO或automotiveDTO.

例如,在我的planeDAO类中:

public int addItem(planeDTO dto) { ... }

我是否只是使用dto参数作为Object来实现,然后将其转换为适当的类型?

解决方法:

如果DTO都来自公共超类或实现公共接口,则可以执行以下操作:

// DTO is the common superclass/subclass
public interface Addable<E extends DTO> {

    public int addItem(E dto);

}

您的特定实现可以做到:

public class PlaneImpl implements Addable<planeDTO> {
    public int addItem(planeDTO dto) { ... }
}

或者,您可以简单地定义接口以接受interface / superclass:

// DTO is the common superclass/subclass
public interface Addable {

    public int addItem(DTO dto);

}

编辑:

您可能需要执行以下操作:

创建界面-

interface AddDto<E> {
    public int addItem(E dto);
}

并在您的DAO中实现它.

class planeDAO implements AddDto<planeDTO> {
    public int addItem(planeDTO dto) { ... }
}
上一篇:python程序设计


下一篇:第六章 Temporal-Difference Learning 读书笔记