我有一个类Propositions
,它是类
Proposition
:我想创建一个树,其节点来自类
ConstituentSet
或Proposition
。在树上只是叶子来自
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;
}
答案 0 :(得分:6)
让您的Propositions
和ConstituentSet
实现一个公共接口,然后从此接口的实例构成一个树。
答案 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
}