azure011328

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

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

 

实验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   淮竹i  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
历史上的今天:
2023-11-13 每日总结11.13
 
点击右上角即可分享
微信分享提示