在两个不同的类之间键入转换

时间:2013-07-24 11:47:45

标签: java

我有一个类Propositions,它是类

的数组列表

Proposition:我想创建一个树,其节点来自类 ConstituentSetProposition。在树上只是叶子来自 class Proposition,所有内部节点都来自类 ConstituentSet

我不知道应该如何定义类型 班级ConstituentSet中的孩子们。如果我从类型定义 ConstituentSet,我无法在此类型中设置我的叶子(因为它们是 来自Proposition),如果我从Proposition类型设置子项, 我无法设置内部节点。

public class  ConstituentSet<T> {       
    protected ConstituentSet<T> child1, child2;    
    //OR       
    protected Proposition child1,child2;
}

public class Proposition { 
    private  Property property;
    private Rating       rating;  
    private Type         type;  
    private Serializable value;
}

2 个答案:

答案 0 :(得分:6)

让您的PropositionsConstituentSet实现一个公共接口,然后从此接口的实例构成一个树。

答案 1 :(得分:0)

实现接口

public interface TreeElement(){
     // define methods
}

并使用此接口将Proposition同时实现为ConstituentSet

public class constituentSet implements TreeElement{
     protected ArrayList<TreeElement> children;
     // rest of code here
}

public class Proposition implements TreeElement{
    // code here
}