0

我有一个类Propositions,它是类的数组列表

Proposition:我想制作一棵树,其节点来自类 ConstituentSetProposition. 在 Tree 中,只有叶子来自 class Proposition,所有内部节点都来自 class ConstituentSet

我不知道我应该如何定义类中孩子的类型ConstituentSet。如果我从 type 定义 ConstituentSet,我不能在这个 Type 中设置我的叶子(因为它们来自Proposition),如果我从 type 设置子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;
}
4

2 回答 2

6

让你实现一个通用接口Propositions,然后由这个接口的实例构成一棵树。ConstituentSet

于 2013-07-24T11:51:55.037 回答
0

实现一个接口

public interface TreeElement(){
     // define methods
}

PropositionConstituentSet使用此接口实现两者

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

public class Proposition implements TreeElement{
    // code here
}
于 2013-07-24T11:55:11.190 回答