OOP 作业总结三
本文转载自 OOP作业总结(三) - impJ - 博客园 (cnblogs.com)
阅读提示:本文目录导航,PC端页面位于文章右侧,移动端点击文章标题右侧小图标,需下滑后(顶部图片消失)目录才完全显示,可根据目录跳转文章位置。
一、前言
题目集七
- 知识点: 类的继承、多态性使用方法以及接口的应用。
- 题量: 较小
- 难度:
题目集八
- 知识点: 设计模式的具体运用。
- 题量: 较小
- 难度:
题目集九
- 知识点: 设计模式的具体运用。
- 题量: 较小
- 难度:
二、设计与分析
(1)题目集7(7-1)、(7-2)两道题目的递进式设计分析总结
分析:
(7-1):
设计父类Shape
,圆形(Circle)
、矩形(Rectangle)
、三角形(Triangl)
及梯形(Trapezoid)
继承Shape
,实现Comparable接口
,重写CompareTo()方法
实现排序,使用ArrayList
存储对应图形。设计DealCardList
类。
(7-2):
在7-1的基础上,依照面向对象设计的单一职责原则
,开-闭
原则,进行设计。使用ArrayList
存储对应图形,重写toString()
方法,遍历ArrayList
输出时满足格式要求。
(2)题目集8和题目集9两道ATM机仿真题目的设计思路分析总结
各类对应的static属性继承
UnionPay
和Bank
,Bank
和User
,Bank
和Account
,User
和Account
,Account
和Card
均为一对多关系,通过ArrayList<>
类型的属性实现。且上一级和下一级相互关联,双向绑定,查询时不用从顶层一直查到底层,极大的优化了时间复杂度。
例如通过Card
查询其所属用户姓名时,因为Card
关联了它对应的Account
,Account
又关联了它对应的User
,所以查询时只需要通过Card
查到Account
,再通过Account
查到User
,即可得到姓名,而不是通过for
循环遍历一个一个比对。
三、踩坑心得
题目集4(7-1) 水文数据校验:
题目集5(7-4)统计Java程序中关键词的出现次数:
题目集5(7-5)日期问题面向对象设计(聚合二):
四、改进建议
无。
五、总结
- 学到了什么: 通过本阶段的学习,进一步掌握了接口的使用,类的设计,设计原则的好处。
- 进一步学习: 七大设计原则的实际体现,体会其优点。
- 课程建议及意见: 课程自由度高,给学生充分的自学时间,作业循序渐进,梯度适中,无需要改进的地方。