(原创)无限级可分类的分类表ADT的实现(1)

来源:互联网 发布:淘宝店铺怎么收钱. 编辑:程序博客网 时间:2024/06/10 04:59

      源码下载地址: http://www.javaall.com/resource/news.rar

      本文的目的是利用数据结构: 树 ,来实现一个分类表ADT, 这个分类表ADT可以实现无限级分类

       本例程采用Structs 架构, 符合MVC设计模式

        数据库采用SQL SERVER 数据库

        实现过程中,因为要连接数据库,所以还要实现一个DAO对象

        分类表ADT的Item对象对应数据库中的分类表,作为整个程序中值传递的对象,它至少具有以下几个属性:

              classID : 分类序号,唯一

              className: 分类名称

              parentID: 父类的分类序号

              orderID:   排序序号

              depth:   层数

              child: 该分类的子类个数(包括所有的子孙后代)

       分类表ADT的伪代码

       public class InfoClass(){

          add(item);  //为分类表增加一个分类

         remove(index); // 根据索引删除分类表中的一个分类

         removeAll();  //删除所有分类

         move(index,action);    //移动分类表中的一个分类,action 动作包括上移和下移两个动作,如果该分类在所属分类中,已经处于第一个位置,则不能上移;如果处于最后一个位置,则不能下移.

         update();   //更新整个分类表(根据className和parentID,重新计算每一个分类orderid,depth,child

         write();//显示整个分类表

         getChild(index);//根据索引值返回分类表的一个分类(这是一个树对象)

     }

      DAO对象的伪代码:

     public class NewsClassDao{

       add(item);  //为数据库的分类表中增加一个分类

         remove(index); // 根据索引删除数据库分类表中的一个分类

         removeAll();  //删除数据库中的所有分类

         move(index,action);    //根据移动结果,更新数据库相关表的记录

         update();   //更新整个数据库中的分类表(根据className和parentID,重新计算每一个分类orderid,depth,child

     }

     树对象的伪代码:

    public class MenuTree{

      object item; //值传递的对象

      ArrayList list;//list中填充的是树对象

}

原创粉丝点击