OOP 作业总结三

本文转载自 OOP作业总结(三) - impJ - 博客园 (cnblogs.com)

阅读提示:本文目录导航,PC端页面位于文章右侧,移动端点击文章标题右侧小图标,需下滑后(顶部图片消失)目录才完全显示,可根据目录跳转文章位置。

一、前言

题目集七

  • 知识点: 类的继承、多态性使用方法以及接口的应用。
  • 题量: 较小
  • 难度:
    7172

题目集八

  • 知识点: 设计模式的具体运用。
  • 题量: 较小
  • 难度:
    71

题目集九

  • 知识点: 设计模式的具体运用。
  • 题量: 较小
  • 难度:
    71

二、设计与分析

(1)题目集7(7-1)、(7-2)两道题目的递进式设计分析总结

(7-1):

(7-2):

分析:

(7-1):
设计父类Shape圆形(Circle)矩形(Rectangle)三角形(Triangl)梯形(Trapezoid)继承Shape,实现Comparable接口,重写CompareTo()方法实现排序,使用ArrayList存储对应图形。设计DealCardList类。

@Override public int compareTo(Card o) { return Double.compare(o.getShape().getArea(), shape.getArea()); }

(7-2):
在7-1的基础上,依照面向对象设计的单一职责原则开-闭原则,进行设计。使用ArrayList存储对应图形,重写toString()方法,遍历ArrayList输出时满足格式要求。

public void cardSort() { Collections.sort(circles); Collections.sort(rectangles); Collections.sort(trapezoids); Collections.sort(triangles); }

(2)题目集8和题目集9两道ATM机仿真题目的设计思路分析总结

题目集8(7-1):

各类对应的static属性继承
UnionPayBankBankUserBankAccountUserAccountAccountCard均为一对多关系,通过ArrayList<>类型的属性实现。且上一级和下一级相互关联,双向绑定,查询时不用从顶层一直查到底层,极大的优化了时间复杂度。

例如通过Card查询其所属用户姓名时,因为Card关联了它对应的AccountAccount又关联了它对应的User,所以查询时只需要通过Card查到Account,再通过Account查到User,即可得到姓名,而不是通过for循环遍历一个一个比对。

class Card { //public static ArrayList<Card> cards = new ArrayList<>(); private String cardNumber; private String passWord; private Account account; Card(String cardNumber, String passWord, Account account) { this.cardNumber = cardNumber; this.passWord = passWord; this.account = account; } public String getCardNumber() { return cardNumber; } public void setCardNumber(String cardNumber) { this.cardNumber = cardNumber; } public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } public void setAccount(Account account) { this.account = account; } public Account getAccount() { return account; } }

三、踩坑心得

题目集4(7-1) 水文数据校验:

题目集5(7-4)统计Java程序中关键词的出现次数:

题目集5(7-5)日期问题面向对象设计(聚合二):

四、改进建议

无。

五、总结

  • 学到了什么: 通过本阶段的学习,进一步掌握了接口的使用,类的设计,设计原则的好处。
  • 进一步学习: 七大设计原则的实际体现,体会其优点。
  • 课程建议及意见: 课程自由度高,给学生充分的自学时间,作业循序渐进,梯度适中,无需要改进的地方。
posted @ 2021-12-13 11:18  olderciyuan  阅读(97)  评论(2)    收藏  举报