JavaOO第三次作业总结
1.作业过程总结
我们的大作业分为多个阶段,每个阶段层层递进,由基础到复杂,由面向过程到面向对象,通过点滴的积累,逐步理清了面向对象的思想并学习了面向对象编程。
由刚开始的类似于C语言的学习思路,来完成一些算法复杂度不高但需要细心的算法,主要是运用一些循环来对数据进行处理;

再到一些算法复杂度上有所提升的题;

最后一次作业是写一个计算器,需要自学一点栈的内容,并且特殊情况考虑的比较多,对我们的细心程度也有一定的考察;

三次作业主要涉及了java程序设计的多态,继承,抽象类等概念,因为这些概念像类的概念一样,在c语言中没有涉及过,这可能也是编写更加吃力的原因之一。本学期的Java大作业相比以前的作业来说,难度上有很大的提升,通过这种大作业与教学同步进行的方式,我明显感觉编码能力有所提高,加上老师推荐的一些教学网站,在线上教学的基础上再适当地自学,本学期在Java这门课程上还是收获满满的。
第七次作业所用时间:20h
第八次作业所用时间:48h
第九次作业所用时间:55h
2、OO设计心得
①抽象是指强调实体的本质、内在的属性。在系统开发中,抽象指的是在决定如何实现对象之前的对象的意义和行为。使用抽象可以尽可能避免过早考虑一些细节;继承性是子类自动共享父类数据结构和方法的机制,这是类之间的一种关系。在定义和实现一个类的回时候,可以在一个已答经存在的类的基础之上来进行,把这个已经存在的类所定义的内容作为自己的内容,并加入若干新的内容;多态性是指相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果,这种现象称为多态性。抽象是为后面继承打下基础,使得继承的类都在一个框架内完成,多态是为了使得对具有更多可操作性。
②(1)单一职责原则:所谓职责是指类变化的原因。如果一个类有多于一个的动机被改变,那么这个类就具有多于一个的职责。而单一职责原则就是指一个类或者模块应该有且只有一个改变的原因。
(2)“开-闭”原则:“软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。
③ 在面向过程设计时,只用考虑每一步的结果应该是什么,但是在面向对象程序设计时,需要先考虑目标程序的大致结构,如何画出UML图,考虑有没有什么特殊情况,如何根据UML图来建立所需要的类和对象等等。
④类对于我来说是一个新的概念,类(Class)是面向对象程序设计(OOP,Object-Oriented Programming)实现信息封装的基础。类是一种用户定义的引用数据类型,也称类类型。每个类包含数据说明和一组操作数据或传递消息的函数。类的实例称为对象。在面向对象中,类可以说是最重要的概念,是作为面向对象程序设计的基础,如果不能掌握类的特性,例如抽象类等,就很难以面向对象的思维去编写代码,代码就会显得杂乱无章,在后续对代码进行扩充的时候会显得手足无措。
⑤ Java集合框架:
同样,Java编程有很大的便利性,当要处理的数据比较复杂时,或者涉及到多种数据结构的类型时,Java为我们提供的数据结构和集合框架为我们提供了很大的便利。List,map,set等在我们处理大量数据时提供了很大的帮助。同样,在遍历·时,用iterator迭代器进行遍历也是非常方便的,当然,也可以用常见的循环来进行遍历,两者各自具有优势,要结合具体的题目来分析
3.测试的理解与实践
(1)测试对于质量的重要性:我认为是非常重要的,因为没有测试我的认识就只是片面的,也许可能会对,但是我认为大多数都是不全面的。而且写代码需要细心,测试就是对于错误的处理有着一系列完善的措施。
(2)在面向对象的程序设计中,每个类、每个对象都意味着现实的一个实体,具有多样性,意味着测试更加重要了。
4.课程收获
经过这一段时间的学习,我认识到了OO需要开放而灵活的思维,以及坚实的知识基础,任何投机取巧的行为都会收到负面影响,在学习过程中的懈怠,代价便是面对课题是的手足无措,焦头烂额。踏踏实实略显无聊的学习,换来的是面对问题的自信与顺畅。这段时间的学习使我收获良多,我明白了对待代码要严谨,不能掉以轻心。对于类的使用要慎重,要分得清使用方法,不能错用,乱用。在学习OO时,不要受OP的影响。
5.对课程的建议
①作业难度、题量的建议
本学期的Java课程上下来,感觉编程能力还是提高了很多的,如果要说建议的话,就是建议老师能在每次大作业后增加一个让同学们分享解题思路的活动,每个同学的解题思路也许会不同,通过这样的方式,解题的多样性可以逐渐发展起来的。
浙公网安备 33010602011771号