首页 > 其他分享 >每日总结

每日总结

时间:2023-10-23 22:23:36浏览次数:31  
标签:总结 存在 示例 一个 每日 画笔 类图 可以

[实验任务一]:UML复习

阅读教材第一章复习UML,回答下述问题:

面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明。

关联(Association):

定义:关联表示一个类与另一个类之间的连接。一个类可以与另一个类建立关联,这表示两者之间存在某种关系。

示例:一个学校类与一个学生类之间可以建立关联,表示学校与学生之间存在关系。

聚合(Aggregation):

定义:聚合表示一个类可以包含另一个类,但它们之间的生命周期可以独立存在。聚合关系通常是弱的整体部分关系。

示例:一个图书馆类可以包含多个书籍类,但即使图书馆不存在了,书籍仍然可以存在。

类图示例:

 

组合(Composition):

定义:组合是一种强的整体部分关系,表示一个类包含另一个类,而且它们的生命周期是相互依赖的。如果外部类不存在了,内部类也将不存在。

示例:一个汽车类包含多个轮子类,如果汽车不存在了,轮子也将不存在。

类图示例:

 

继承(Inheritance):

定义:继承表示一个类可以从另一个类继承属性和行为,并且可以添加自己的属性和行为。

示例:一个动物类可以派生出猫类和狗类,它们都具有动物的一般特性,但也有各自特有的特性。

类图示例:

 

依赖(Dependency):

定义:依赖表示一个类在实现过程中依赖于另一个类的服务或方法。

示例:一个订单类可能依赖于一个支付类来完成支付操作。

类图示例:

 

 

 

[实验任务二]:单一职责原则

登录模块在实际项目开发中很常见,请按照教材28页(PPT49页)利用单一职责原则重构后的类图实现这一模块。

实验要求:

1.提交源代码和对应的数据库文件(注意将此模块保存,以备以后使用);

2.注意编程规范。

代码见附件1

[实验任务三]:依赖倒转原则与合成复用原则

在一画图软件中提供了多种大小不同的画笔,并且可以给画笔指定不同的颜色,某设计人员对画笔进行了如上图所示的设计。通过分析,可以发现增加画笔的种类和颜色会使得系统中类的数目急剧增加,请根据合成复用原则和依赖倒转原则对上述设计进行重构。

实验要求:

1.提交源代码;

2.画出重构后的类图。

答:1.

 

2.代码见附件2

标签:总结,存在,示例,一个,每日,画笔,类图,可以
From: https://www.cnblogs.com/syhxx/p/17783635.html

相关文章

  • 2023年10月23日每日总结
    今天完成了建民老师的ERP任务绘制了系统框架图数据流图 数据库设计1.公司信息表(Company)•公司ID(CompanyID)•公司名称(CompanyName)•公司地址(CompanyAddress)•联系电话(ContactNumber)•公司邮箱(CompanyEmail)2.部门信息表(Department)•部门ID(DepartmentID)•部......
  • CSP-S 2023 游记 & 总结 & 题解
    游记到了机房发现是Windows10,感觉不错。比赛开始果断启动虚拟机,怎么今年PDF密码这么复杂啊,我记得去年挺简单的来着,好像是believe2022?看了一遍题,有理由怀疑T1是J的题,但是一开始读错了,以为只能转一下,后来计算转动幅度的时候忘记对\(10\)取模,怒调1h。T2一开始以为是容......
  • javaweb学习每日总结-第三天
    第三天学习MyBatis 在一天的mybatis学习之后,我了解到了这么一款能够简化jdbc的框架,说到mybatis的作用,就是代替了jdbc,用Java操作数据库,但是他比jdbc更简便更程序化,今天,我在idea配置了mybatis的文件,并且通过mybatis初步查询了数据库中的信息,这也是我第一次使用mybatis来操作数据......
  • Sea-Search03总结&&un finish
    使用到的设计模式Facade门面模式为何使用?在搜索项目中,由于使用Mvc架构且数据库中各种不同类型的数据源并没有放在同一张表,于是我们不可避免的在Controller中需要注入多个service,各种service眼花缭乱,而搜索中台提供的内容又及其单一(只负责返回搜索数据),于是采用Facade来......
  • 力扣每日一题+python知识点回顾(六)
    力扣题目:老人的数目(题号:2678)给你一个下标从0开始的字符串details。details中每个元素都是一位乘客的信息,信息用长度为15的字符串表示,表示方式如下:前十个字符是乘客的手机号码。接下来的一个字符是乘客的性别。接下来两个字符是乘客的年龄。最后两个字符是乘客的座位......
  • 力扣每日一题+python知识点回顾(五)
    力扣题目:做菜顺序(题号:1402)一个厨师收集了他n道菜的满意程度satisfaction,这个厨师做出每道菜的时间都是1单位时间。一道菜的「like-time系数」定义为烹饪这道菜结束的时间(包含之前每道菜所花费的时间)乘以这道菜的满意程度,也就是time[i]*satisfaction[i]。返回厨师在准备了一......
  • 力扣每日一题+python知识点回顾(四)
    力扣题目:统计无向图中无法互相到达点对数(题号:2316)给你一个整数n,表示一张无向图中有n个节点,编号为0到n-1。同时给你一个二维整数数组edges,其中edges[i]=[ai,bi]表示节点ai和bi之间有一条无向边。请你返回无法互相到达的不同点对数目。示例一:输入:n=3,edges=[[0,1],[0,2......
  • 2023.10.23——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.hplus明日计划:学习......
  • 每日总结13
    今天上午上了软件设计的实验课,课上完成了实验一的作业,相对来说比较简单。然后上了杨子光老师的人机交互技术,学习了hplus,hples提供了各种前端组件,方便了前端代码的书写。下午完成了李静老师的实验作业,用hive统计单词数量。......
  • 每日总结10.19
    今天的一天过得非常充实,我参加了各种不同的课程和准备了一次令人兴奋的旅行。上午,我上了UML建模语言的课程,这是软件工程中非常重要的一部分,它帮助我们理解了如何设计和规划软件系统。之后,我参加了体育课,学习了乒乓球的正手和反手技巧。这是一种有趣的锻炼,也有助于保持身体健康。......