azure011328

导航

 

软件设计                  石家庄铁道大学信息学院

 

实验10:组合模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解组合模式的动机,掌握该模式的结构;

2、能够利用组合模式解决实际问题。

 
   

 


[实验任务一]:组合模式

用透明组合模式实现教材中的“文件夹浏览”这个例子。

实验要求:

 

interface Component {

    void add(Component component);

    void remove(Component component);

    Component getChild(int index);

    String getName();

}

class File implements Component {

    private String name;

 

    public File(String name) {

        this.name = name;

    }

 

    @Override

    public void add(Component component) {

        // 文件不能添加子组件

    }

 

    @Override

    public void remove(Component component) {

        // 文件不能移除子组件

    }

 

    @Override

    public Component getChild(int index) {

        // 文件没有子组件

        return null;

    }

 

    @Override

    public String getName() {

        return name;

    }

}

public class Client {

    public static void main(String[] args) {

        Folder root = new Folder("Root");

        Folder docs = new Folder("Documents");

        Folder images = new Folder("Images");

        File file1 = new File("file1.txt");

        File file2 = new File("file2.txt");

 

        root.add(docs);

        root.add(images);

        docs.add(file1);

        docs.add(file2);

 

        root.display(); // 显示文件夹内容

    }

}

posted on 2024-11-13 09:21  淮竹i  阅读(3)  评论(0编辑  收藏  举报