OOP 作业总结三
本文转载自
阅读提示:本文目录导航,PC端页面位于文章右侧,移动端点击文章标题右侧小图标,需下滑后(顶部图片消失)目录才完全显示,可根据目录跳转文章位置。
一、前言
- 知识点: 类的继承、多态性使用方法以及接口的应用。
- 题量: 较小
- 难度:
7 − 1 ★ ★ ✩ ✩ ✩ 7 − 2 ★ ★ ✩ ✩ ✩ " role="presentation">
题目集八
- 知识点: 设计模式的具体运用。
- 题量: 较小
- 难度:
" role="presentation" style="position: relative">7 − 1 ★ ★ ★ ✩ ✩
二、设计与分析
(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机仿真题目的设计思路分析总结 class Card {
//public static ArrayList 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;
}
}
三、踩坑心得
无。
五、总结
- 学到了什么: 通过本阶段的学习,进一步掌握了接口的使用,类的设计,设计原则的好处。
- 进一步学习: 七大设计原则的实际体现,体会其优点。
- 课程建议及意见: 课程自由度高,给学生充分的自学时间,作业循序渐进,梯度适中,无需要改进的地方。