比如有一棵树,Tree,其下有A1,A2,...Ai个子节点即TreeItem,其中每个An节点下面又有两类子节点,Bn和Cn(Bn和Cn是组的名称,即Bn下面是b1,b2,...bi;Cn也一样,就比如QQ好友列表的分组节点,什么我的同学,我的好友等等,bi和ci就比如下面具体的qq号码),An可以创建bi和ci,bi节点代表一个数据结构,ci节点代表另一个数据结构,它们有各自的操作,如何实现这棵树?即把TreeItem与数据结构结合起来。是关于SWT Tree编程的,说明思路就行。

解决方案 »

  1.   

    补充一下:意思是创建这棵树时如何把bi与一个数据结构关联,ci用一个数据结构关联
      

  2.   

    恩, 可以这样考虑, 虽然B与C的数据结构不一样, 但可以抽取共性, 也就是抽象出来, 比如他们的共性有: 都有名字, 都有ID, 都有一个父亲指针, 都有一个儿子指针的链表等等... 最重要的他们都有一个 _type的类型字段. 把这个作为一个父类, 通用所有节点...当你最后需要获得这个节点的实际数据类型的时候, 看看_type到底属于哪个类型(ai, bi, ci), 然后强制转化! 也就是向下转型为实际的数据类型... 就OK了