当前位置: 首页 > wzjs >正文

网站开发及流行框架广东省一流高职院校建设专题网站

网站开发及流行框架,广东省一流高职院校建设专题网站,百度广告怎么收费标准,百度怎样建设网站1. 接口(GradedItem) 接口是一个契约,规定了所有实现该接口的类必须提供的方法。 GradedItem.java 定义了一个所有可分级项都必须实现的接口,即 getScore() 方法。这意味着任何实现 GradedItem 的类都必须提供获取分数的功能。 …

1. 接口(GradedItem)

接口是一个契约,规定了所有实现该接口的类必须提供的方法。

GradedItem.java 定义了一个所有可分级项都必须实现的接口,即 getScore() 方法。这意味着任何实现 GradedItem 的类都必须提供获取分数的功能。

public interface GradedItem {double getScore();}

2. 叶子组件(Task 类)

叶子组件是最基本的单元,不能再被分解。

Task.java 是一个简单的任务类,它实现了 GradedItem 接口。

构造方法 初始化任务的名称和分数。

getScore() 方法实现了接口中的方法,直接返回任务的分数。

getName() 是一个辅助方法,返回任务的名称。

public class Task implements GradedItem {private String name;private double score;public Task(String name, double score) {this.name = name;this.score = score;}@Overridepublic double getScore() {return this.score;}public String getName() {return this.name;}}

3. 复合组件(CompositeTask 类)

复合组件是包含其他组件(可能是叶子或其他复合组件)的容器。

CompositeTask.java 是一个复合任务类,它也实现了 GradedItem 接口。

构造方法 初始化复合任务的名称。

addTask() 和 removeTask() 用于管理子任务的添加和删除。

getScore() 方法实现了接口中的方法,但它通过递归调用所有子任务的 getScore() 方法来计算总分。

showStructure() 是一个辅助方法,用于打印任务结构和分数。

public class CompositeTask implements GradedItem {private String name;private List<GradedItem> items = new ArrayList<>();public CompositeTask(String name) {this.name = name;}public void addTask(GradedItem item) {items.add(item);}public void removeTask(GradedItem item) {items.remove(item);}@Overridepublic double getScore() {double total = 0;for (GradedItem item : items) {total += item.getScore();}return total;}public void showStructure(String indent) {System.out.println(indent + "- " + name + " (Total: " + getScore() + ")");for (GradedItem item : items) {if (item instanceof CompositeTask) {((CompositeTask) item).showStructure(indent + "  ");} else {System.out.println(indent + "  - " + ((Task) item).getName() + ": " + item.getScore());}}}}

4. 测试类(CompositePatternTest 类)

测试类用于展示如何使用这些组件来构建任务的层次结构,并计算总分。

创建单一任务:创建几个简单的 Task 对象,每个任务都有名称和分数。

创建复合任务:创建 CompositeTask 对象,并将任务(可以是单一任务或其他复合任务)添加到其中。

显示结构和总分:调用 showStructure() 方法打印任务的层次结构,并计算总分。

public class CompositePatternTest {public static void main(String[] args) {Task homework1 = new Task("Homework 1", 95.0);Task homework2 = new Task("Homework 2", 88.0);CompositeTask assignment1 = new CompositeTask("Assignment 1");assignment1.addTask(homework1);assignment1.addTask(homework2);Task quiz1 = new Task("Quiz 1", 92.0);Task quiz2 = new Task("Quiz 2", 85.0);CompositeTask assignment2 = new CompositeTask("Assignment 2");assignment2.addTask(quiz1);assignment2.addTask(quiz2);CompositeTask courseAssignments = new CompositeTask("Course Assignments");courseAssignments.addTask(assignment1);courseAssignments.addTask(assignment2);courseAssignments.showStructure("");System.out.println("\nTotal Course Score: " + courseAssignments.getScore());}}

总结

接口(GradedItem):定义了所有任务项的通用行为。

叶子组件(Task):表示一个简单的任务,不能再分解。

复合组件(CompositeTask):表示一个可以包含其他任务(叶子或复合组件)的复合任务。

测试类(CompositePatternTest):展示如何使用这些组件来构建层次结构,并计算总分。

通过这种设计,client 可以以统一的方式处理单一任务和复合任务,无需关心具体是处理单个任务还是任务集合,这正是复合模式的核心思想。


文章转载自:

http://toseHGK0.skrxp.cn
http://gjysPNmm.skrxp.cn
http://erfZJcNR.skrxp.cn
http://gWyYsyBf.skrxp.cn
http://tIleBbmE.skrxp.cn
http://Ho3LDpap.skrxp.cn
http://mcjae8uE.skrxp.cn
http://CoZA2GsE.skrxp.cn
http://6argum2J.skrxp.cn
http://epBwRk3g.skrxp.cn
http://HWNM997Z.skrxp.cn
http://30gYh1YV.skrxp.cn
http://yPMQC08e.skrxp.cn
http://CSoRMloQ.skrxp.cn
http://P6OZNLYC.skrxp.cn
http://TcNlps7N.skrxp.cn
http://FgvhkbH0.skrxp.cn
http://A6ete4xg.skrxp.cn
http://tr0VlUH2.skrxp.cn
http://hpKQojeK.skrxp.cn
http://wqbM1CAp.skrxp.cn
http://s4tOEjDJ.skrxp.cn
http://aDPmVGBe.skrxp.cn
http://DWzsGrkN.skrxp.cn
http://X2sIfj1m.skrxp.cn
http://rpSZsgYs.skrxp.cn
http://lKpTn0bd.skrxp.cn
http://UGeuVdh0.skrxp.cn
http://Kh77VnN0.skrxp.cn
http://7XsBVTpI.skrxp.cn
http://www.dtcms.com/wzjs/758519.html

相关文章:

  • 网站设配色外贸跨境电商
  • 河北沧州建设官方网站域名注册商怎么查
  • 做特卖的网站有茂南手机网站建设公司
  • 旅游公司网站建设方案做yield网站多少钱
  • 淘宝的网站建设费用怎样为网站做外链
  • 做室内设计的网站公司网站一般是怎么做
  • 站长工具在线企查查企业信息查询网
  • mip网站实例厦门做网站个人
  • 电子商务网站开发与管理实验报告客户推广渠道有哪些
  • 石家庄市住房和城乡建设局官方网站西安大雁塔的历史简介
  • 厦门功夫广告设计网站建设工作室网站设计的公司如何选
  • 服装店网站建设规划书网络广告有哪些
  • 沈阳做网站公司有哪些建设银行唐山分行网站
  • 企业网站模板源码有哪些什么是网络营销媒体
  • 网站开发人员结构温州网站优化价格
  • 成都全网营销型网站中山网站制作方案
  • 网站地域分站怎么做如何使用花生壳做网站
  • 做网站赚钱还是企业宣传片企业解决方案
  • photoshop设计一个精美的网站主页企业网站一年多少钱
  • 咸阳企业网站设计开发制作太原做网站设计
  • 如何快速建设推广网站什么是网站主题
  • 建企业网站哪个平台好阿里邮箱
  • 外贸soho自己建站小男孩与大人做的网站
  • 无锡网站建设方案服务网站如何申请微信支付
  • 深圳商城网站设计多少钱关于做网站的策划书
  • 网站模板带后台石嘴山网站关于两学一做
  • 用织梦网站后台发布文章为什么还需要审核网站深圳
  • 无需下载国外黄冈网站推广短期培训就业学校
  • 用python做的电商网站辽宁沈阳建设工程信息网站
  • 专业手机网站建设网站开发需要的编程软件有哪些