前言:
题目集7,8,9都具备一定的难度,考察的内容很多比如:继承、多态的应用;,ArrayList泛型的应用方法,Comparable接口及泛型的应用,单一职责原则的应用,“开-闭”原则的应用
设计与分析:
题目集7:
排序算法的应用和开闭原则的实现。
如果输入合法,则正常输出,所有数值计算后均保留小数点后两位即可。输出内容如下: 排序前的各图形类型及面积,格式为“[图形名称 1:面积值 1 图形名称 2:面积值 2 …图形名称 n:面积值 n ]”,各图形输出之间用空格分开,且输出最后存在一个用于分隔的空格, 在结束符“]”之前; 输出分组后的图形类型及面积,格式为“[圆形分组各图形类型及面积][矩形分组各图形类型 及面积][三角形分组各图形类型及面积][梯形分组各图形类型及面积]”,各组内格式为“图形 名称:面积值”。按照“Circle、Rectangle、Triangle、Trapezoid”的顺序依次输出;各组内图形排序后的各图形类型及面积,格式同排序前各组图形的输出;各组中面积之和的最大值输出,格式为“The max area:面积值”
题目集8:
降低难度选择的卡全部为借记卡,且不允许跨银行办业务。
对实体类的设计要做到单一职责原则,且不能缺少规定的实体类。
题目集9:
使用面向对象技术对银行用户在 ATM 机上进行相关操作的模拟系统设 计。
考察继承、多态及抽象类的应用 。
借记卡与信用卡的说法实际是针对用户的账户类型。
银行卡包含借记卡和信用卡两类,且允许跨行办理相关业务。
踩坑心得:
对实体类的设计要做到单一职责原则,且不能缺少规定的实体类。
在“合成复用原则”及“单一职责原则”基础上,尽量对上次作业的程 序进行重构,使之符合 “开-闭”原则。
注意本题目中的各实体类之间的关系,尤其是一对多的组合关系
改进建议:
对于题目给出的类图能够尽量的详细,且对类图中的有些错误能够改正。
总结:
了解并熟悉了一对多的关系和开闭原则的构造和使用。