首页 > 其他分享 >11.10实验10:组合模式

11.10实验10:组合模式

时间:2025-01-07 23:54:45浏览次数:1  
标签:10 组合 void AbstractFile System 11.10 fileName public out

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容: 1、理解组合模式的动机,掌握该模式的结构; 2、能够利用组合模式解决实际问题。   [实验任务一]:组合模式 用透明组合模式实现教材中的“文件夹浏览”这个例子。 实验要求: 1. 文件的执行不需真正实现,只需简单提示即可;   2. 提交源代码; public abstract class AbstractFile { public abstract void add(AbstractFile element); public abstract void remove(AbstractFile element); public abstract void display(); }   import java.util.ArrayList;   public class Folder extends AbstractFile { private ArrayList<AbstractFile> fileList = new ArrayList<>(); private String fileName;   public Folder(String fileName) { this.fileName = fileName; }   /** * 添加文件 */ @Override public void add(AbstractFile element) { fileList.add(element); // 获取类的简单名称 String elementName = element.getClass().getSimpleName(); //输出提示信息 System.out.println(fileName + "添加了一个" + elementName); }   /** * 删除文件 */ @Override public void remove(AbstractFile element) { fileList.remove(element); // 获取类的简单名称 String elementName = element.getClass().getSimpleName(); //输出提示信息 System.out.println(fileName + "删除了一个" + elementName); }   /** * 递归打印文件夹里的内容 */ @Override public void display() { System.out.println(fileName); System.out.println("-------" + fileName + "包括-------"); for (AbstractFile object : fileList) { object.display(); } } }   public class ImageFile extends AbstractFile { private String fileName;   public ImageFile(String fileName) { this.fileName = fileName; }   @Override public void add(AbstractFile element) { System.out.println("add ImageFile"); }   @Override public void remove(AbstractFile element) { System.out.println("remove ImageFile"); }   @Override public void display() { System.out.print(fileName); System.out.println(" ImageFile"); } }   public class TextFile extends AbstractFile { private String fileName;   public TextFile(String fileName) { this.fileName = fileName; }   @Override public void add(AbstractFile element) { System.out.println("add TextFile"); }   @Override public void remove(AbstractFile element) { System.out.println("remove TextFile"); }   @Override public void display() { System.out.print(fileName); System.out.println(" TextFile"); } }   public class VideoFile extends AbstractFile { private String fileName;   public VideoFile(String fileName) { this.fileName = fileName; }   @Override public void add(AbstractFile element) { System.out.println("add VideoFile"); }   @Override public void remove(AbstractFile element) { System.out.println("remove VideoFile"); }   @Override public void display() { System.out.print(fileName); System.out.println(" VideoFile"); } } 3.注意编程规范。

标签:10,组合,void,AbstractFile,System,11.10,fileName,public,out
From: https://www.cnblogs.com/kongxiangzeng/p/18658694

相关文章

  • 10.30学习进度
    <scriptsetuplang="ts">import{ref}from'vue'import{getZlService}from'@/api/scjh.js' constzls=ref([  {    generalOrder:'',    divisionOrder:'',    subordinateOrder......
  • 10.25B/S结构用户界面设计
    【实验编号】 10003809548jWeb界面设计 【实验学时】 8学时 【实验环境】 所需硬件环境为微机;所需软件环境为dreamweaver【实验内容】 本次实验要设计一个B/S架构的用户界面,我的选题是《医药信息管理系统》。我为这个系统设计了6个模块,分别是药品销售、......
  • 10.28软件设计——抽象工厂模式之人与肤色 c++
    1、类图 2、源代码 test4.cpp  #include<iostream>#include<string>usingnamespacestd; //抽象产品类男人classMan{public: virtualvoidmakeM()=0;};//具体产品类白色男人classWhiteMan:publicMan{public: voidmakeM() { cout......
  • 10.24C/S结构用户界面设计
    【实验编号】 10003809547j图形用户界面设计 【实验学时】 8学时 【实验环境】 所需硬件环境为微机;所需软件环境为MicrosoftVisualStudio2013【实验内容】 编写一整套Mis系统UI界面,Mis系统名称自拟。我编写的是《铁大医院信息管理系统》。这个系统有......
  • 10.21vue嵌套路由和扁平路由(父、子路由)区别
    在VueRouter中,配置子路由(嵌套路由)与配置全部为父路由(扁平路由)有以下几个主要的区别和影响:vue2中src/router/index.js中配置router路由信息 子路由(嵌套路由)组件结构:子路由通常用于创建嵌套的视图结构,例如,在一个页面内嵌套多个组件。父组件可以包含多个子组件,每个子组件都有自......
  • 线性代数10.矩阵的初等变换&矩阵的标准形
    10.矩阵的初等变换10.1矩阵初等变换的规则对于任意存在第\(i,j\)两行、或第\(i,j\)两列的矩阵,满足以下初等变换规则:10.1.1对调对调\(i,j\)两行,记为:\(r_i\leftrightarrowr_j\)对调\(i,j\)两列,记为:\(c_i\leftrightarrowc_j\)以上运算均可逆10.1.2乘以\(k\)(\(k\in......
  • 10.22以人为本的软件企业文化建设研究
    摘要:随着数字经济的发展,软件企业文化建设日益成为企业竞争力的核心要素。研究旨在从"以人为本"视角探索软件企业文化建设的有效路径。通过对典型软件企业的案例分析,结合实地观察和文献研究,系统考察了软件企业文化的特征与实践模式。研究发现,成功的软件企业文化建设呈现出三个显著......
  • 10.23Flash动画综合设计并发布、嵌入到网页
    【作业要求】 自己选定主题,创意制作Flash动画,并与网页进行集成 【实验环境】 所需硬件环境为微机;所需软件环境为0【创意内容】 我选择的主题是《春夏秋冬》。春天树叶翠绿,花朵和狗尾巴草随风摇摆,小鸟飞来飞去。夏天走到海边,海浪冲刷着沙滩。秋天树叶都变成了红色,风......
  • 10.19
    根据下列描述,说明新的直接销售和财务处理系统的业务需求有哪些? EspeciallyforYouJewelers是大学城的一个小珠宝零售商。在过去的两年里,EspeciaIlyforYou在它的商业方面经历了极大的发展,可是,它的财务业绩却与它的发展不同步。现在的事务处理系统部分手动、部分自动,不能有......
  • Simulink开发项1000例实战专栏--实例63:基于Simulink开发一个离网逆变器控制系
    目录基于Simulink的离网逆变器(Off-GridInverter)太阳能光伏发电(Photovoltaic,PV)项目实例介绍1.项目背景2.系统架构2.1主电路设计2.2控制器设计3.代码实现3.1MPPT控制器3.2电池充放电控制器3.3PI控制器3.4PWM控制器4.仿真与优化4.1运行仿真4.2参数优......