OOP 作业总结三


本文转载自

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

一、前言

  • 知识点: 类的继承、多态性使用方法以及接口的应用。
  • 题量: 较小
  • 难度:
    7172" role="presentation">7?1???7?2???

题目集八

  • 知识点: 设计模式的具体运用。
  • 题量: 较小
  • 难度:
    71" 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;
    }
}

三、踩坑心得

无。

五、总结

  • 学到了什么: 通过本阶段的学习,进一步掌握了接口的使用,类的设计,设计原则的好处。
  • 进一步学习: 七大设计原则的实际体现,体会其优点。
  • 课程建议及意见: 课程自由度高,给学生充分的自学时间,作业循序渐进,梯度适中,无需要改进的地方。