OO第二单元(5-8周)作业总结
作业总结(二)
0.前言
通过本月的学习,我对java这一门课有了基本的了解。能在一定程度上理解题目的设计要求。本次主要总结1.作业过程2.OO设计心得3.测试的理解与实践4.课程收获5.对课程的建议。
1.作业过程总结
①知识迭代关系:本阶段主要学习了类与类之间的关系,学习了如何使用正则表达式、类的继承并定义相应类对象并进行测试、图形继承与多态。带我们逐步理解面向对象的封装性、继承性与多态性三大技术特性。
②如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性:
把类和方法保存在整合包里体现了封装性的一个特点,就有着良好的内聚性,当我们要调用这些类时,必须先导入这些类对应的包,才可以使用这些类,极其方法,这就体现了其封装性;子类保留父类的所有变量和方法,这就是继承,而多态又是从继承而来。如果我们要重写某个父类中的方法,只需加上@override并将方法重写,体现了多态。
③遇到的问题:
1.程序容易出错,但好在错误处会有相应的提示,找出错误的地方并及时修改。
2.代码有的很复杂。比如水文数据校验及处理设计时针多条数据不同的情况要列很长一段代码,容易出错。
3.正则表达式还不能正确使用。
4.遇到需要重写的方法时忘记使用override方法。
④每次作业花费的时间比例:第一次作业花费的时间比较久,题目是由难到易的。第二次作业,图形的继承与多态、一元多项式求导,第一题花了一个小时左右,第二题花了两个晚上。第三次作业是图形卡片游戏、加分题求素数,图形游戏主要考查类的继承、多态性使用方法以及接口的应用,各花了两个晚上;加分题想出最有效的方法花了一小时。
⑤对编程过程的严谨性的认识和教训:Java编程是严谨的,且比C语言好用,一些编译和语法上的错误在平时写代码的时候往往不能够被轻易发现,但是java编译器就给出提示。除此之外懂得了使用debug,很多很难找到算法错误,使用debug去寻找会容易得多。
2.OO设计心得
①对面向对象三大技术特性之间关系的理解
封装是面向对象的特征之一,是对象和类概念的主要特性,把类和方法保存在整合包里体现了封装性的一个特点,就有着良好的内聚性,当我们要调用这些类时,必须先导入这些类对应的包,才可以使用这些类;继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法,子类保留父类的所有变量和方法,这就是继承;而多态又是从继承而来,是指允许不同类的对象对同一消息作出响应,多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了应用程序函数同名问题。
②面向对象设计的基本原则理解:首先,应该优先选用能够最完善、最准确地表达问题域语义的面向对象语言。类的实现是核心问题,所有的数据都被封装在类的实例中,所以类是关键。实现一个系统是一个比用过程性方法更简单、更简短的过程。
③OO编程思维的理解
OO编程主要是将设计尽量与现实世界的事物一致化。类和对象是其中最基本的两个概念。在设计时,先找到要处理的各个对象,再找到各个对象共同点祖先,逐层抽象,最后确立各个类之间的继承关系
④类设计心得
每一个类尽量做到独立功能,体现单一职责,能使得系统具有较好的可复用性。
3.测试的理解与实践
①测试对于编码质量的重要性
测试是判断编码质量的一个重要手段,通过测试,可以初步确认代码实现功能的正确与否,并且还能提示出错的地方,让我们加以修改,提高了代码的质量。
②假如让你设计测试用例,你会如何做
分别设计异常和正常输入的测试点,再在正常的范围内设计不同类型的测试点。
4.课程收获
总结这四周来在OO方面的教训及收获:
通过这4周以来的练习,对面向对象三大技术特性之间关系有了一定理解。我们建立了类的概念,通过类的设计思想,我们在这基础上再加上继承与多态,使代码能够完成更丰富的作用。了解了面向对象的两个基本原则(单一职责原则及“开-闭”原则)。在学习使用的过程中,也存在一些问题而运行出错,这也告诉我们要在课余时间多自学视频中的内容,这样才能基本掌握设计的方法。
5.对课程的建议
①第三阶段作业难度、题量的建议
保持第二阶段题目难度可以接受,题量在4题之内
②课程内容讲解方面的建议
在课堂上多举一些生动形象的例子,方便我们学习;课后能放一些源代码给我吗借鉴参考。
                    
                
                
            
        
浙公网安备 33010602011771号