OO第一单元作业总结

 

0.前言

        本次博文主要是针对自己在刚学习JAVA时产生的一些问题以及解决办法。

1.作业过程总结

①   总结三次作业之间的知识迭代关系

 

写第一次作业时,更多的是感觉很熟悉,和自己之前做过的C语言题目类似,算法方面可以参照以前在学习C语言过程中自己掌握、熟练的一些方法。最大的区别是,学到了JAVA语言的一些方法、格式,原来单一的printf变成了System.out.println,输入需要用到Scanner,数组的定义需要new、基本类型的输入也变成了新的方式,有很多新鲜、特别的方式,但还是在原来的基础上更上一层楼。第二次作业原来的函数变成了JAVA的方法,但总觉得还是面向过程的一次编程,原来的基础使得做起来美哟那么艰难。第三次作业就开始面向对象了,好几个类里的方法互相调用,着实是一种新的挑战。感觉是打破了常规的思路,找出了新的思路。

②   如何通过作业逐步从面向过程过渡到面向对象

 

通过看作业的要求,在原来的审题模块化思路中,逐渐试着把问题分解成对象而不是函数,建立对象来描述对象的动作。

③   作业过程中遇到的问题及解决方法

 

作业中经常会遇到还没讲到的知识,还有一些C语言中语法不适用于JAVA语言的情况,一般会在CSDN和博客园这类专业的网站搜索自己想到的知识点,在作业中体现,应用熟练使用。

④   每次作业花费的时间比例

 

第一次作业利用时间应该是最短的,新的知识比较简单,也很好掌握使用,更多的是将自己的思路更加严谨。第二次面对的应该是新的日期问题,以前学习C语言过程中没有思考过这样的问题,在算法上苦苦纠结了很久,也在网上找了很多资料。第三次作业是费时最久的了,看到UML图,刚开始是不理解的,也不知道什么叫聚合,通过网上查资料,翻阅自己买的书籍,找到了一些思路,赶在结束时间前解决了问题。

⑤   对编程过程的逻辑严谨性的认识及教训

 

每次提交PTA基本都不会一次成功,需要反复看代码,反复运行试验,找到自己逻辑不严密的地方,对于较短的代码来说,影响并不是特别大,但是达到几百行代码,有测试点过不了时候,再去试验,再去反复看代码,找问题就像大海捞针,有时候也会厌烦,甚至选择另外一种算法重新写一遍,这不仅造成了时间的浪费,也造成了信心的损失,所以在写代码过程中,随时都要保持自己的谨慎。

2.OO设计心得

①  面向过程与面向对象的比较

 

面向过程是一个分步解决问题,把问题分到一个个函数中去解决,写起来更好理解,再加上注释,更易学习接受。面向对象以功能来划分。问题面向对象把数据private,储存起来,对象之间用方法沟通,这要求程序员的思路更加清晰。在实用方面,面向对象可以更加轻松的把新的数据方法添加进去。

②  面向对象设计的基本原则理解

 

单一职责原则(Single responsibility principle)又称单一功能原则。它规定一个类应该只有一个发生变化的原因。

开闭原则(Open Closed Principle)对扩展开放,对修改关闭。

里氏替换原则(Liskov Substitution Principle)任何基类可以出现的地方,子类一定可以出现。

接口隔离原则(Interface Segregation Principle)客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

依赖倒置原则(Dependence Inversion Principle)要依赖于抽象,不要依赖于具体实现。

合成复用原则(Composite Reuse Principle)一个实体应当尽量少的与其他实体之间发生相互作用,使得系统功能模块相对独立。原则是尽量使用合成/聚合的方式,而不是使用继承。

③  OO编程思维的理解

OO:面向对象将事物都看成对象,将具有相同特征的实物看作类。通过对类与对象的继承,封装,多态的实现,完成模拟现实从而决绝问题。

3.测试的理解与实践

   ①测试对于编码质量的重要性

 

这样能有效找到自己代码的不足之处,通过测试,发现那一块的算法是有问题的,这样完成任务更加有效。

   ②假如让你设计测试用例,你会如何做

 

首先要达到,测试用例能够覆盖全面,千万不可遗漏一点特殊情况。其次,要将用例分好块,达到每一个用例能够发挥出最大的作用,用力覆盖面广,还要精确,实用。

4.课程收获

 

     逐渐从面向过程的思维转变到面向对象的思维,掌握到一些JAVA入门的语法。

5.对课程的建议

        

个人感觉JAVA要学习的东西还有很多,但各个网站介绍JAVA的目录却不一样,自己买的书籍也是和教学内容进度不一样,给人一种很零散杂乱的感觉

posted on 2020-06-10 22:35  稳111  阅读(52)  评论(0编辑  收藏  举报