OO Unit4and Summary

一、关于正向建模与开发

本单元的作业要求是在完成设计的基础上再书写代码。清晰严谨的设计可以在coding时发挥重要的作用,使书写代码的速度和质量都有很大的提高。这个单元的三次作业都要求使用UML图完成设计,UML图完成的设计更具有规范性,便于不同人之间进行交流,但是,作为初次使用这一工具的我们,可能在使用的过程中会遇到一系列的问题。

但是无论如何,我认为本单元作业的主要目的是先设计再代码,在完成作业时,我也刻意去注意这一方面,尽量让自己的设计更清晰,更完备。

二、单元设计架构

虽然经过了较为严谨的设计,但是在实现的时候,还是发现了很多没有考虑全面的问题,这导致,我的类之间的耦合性及其强,再加上我还创建了较多的类,所以在类图中,就会看到很对的像“蜘蛛网”一样的线,这对代码的维护提出了很大的考验,是本单元作业完成中最大的一个诟病。

我在第一次作业就在顶层设计了一个名为Library类,用于管理一个学校的图书借阅情况,所以在增加校际借阅后,一个学校内部的过程相对来说能够省去很多的工作。Library负责与几个图书管理员、自助机器、后勤处进行联系。同时设置Book类及Student类对书籍和学生进行管理,方便记录借书的情况。

其中Book类为了能够使用Hashmap的contains等方法,重写了hashCode和equals两个方法。具体代码如下:

	@Override
    public int hashCode() {
        return bookNo.hashCode();
    }

    @Override
    public boolean equals(Object obj) {
        if (obj instanceof Book) {
            return this.bookNo.equals(((Book)obj).bookNo);
        } else {
            return false;
        }
    }

对于时间处理单独设置了Clock类,输出由Output类进行。

三、UML模型设计

 

 

 

四、面向对象思维演进

从Unit1的字符串处理(递归下降算法)到Unit2的多线程(电梯)在到Unit3的Jml规则(通讯交流)最后是本单元的UML设计,可以发现,设计的思想,面向对象是思想始终贯穿着课程的始终。我也从一开始只会面向过程(瞎建类),一步步地掌握了一些面向对象的方法,能够将面向对象的思想运用到程序的架构中去。

五、课程收获

面向对象程序设计,让我收获最大的肯定就是面向对象的思维了,但除此之外,更锻炼了我做事的能力。每一次作业都可以是生活中的一个实际问题,面向对象这门课给了我们一个很好的解决问题的思路。有计划,有条理,分工明确,这些都是做好一件事必不可少的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值