手比脖子长的长颈鹿

OO第一单元作业总结

**0.前言**
该篇博客为前四周的学习总结,记录个人在第一阶段学习中的点滴所获。

**1.作业总结过程**
① 总结三次作业之间的知识迭代关系
第一次作业以基础功为主,引导我们使用基本的运算符、选择循环结构去解决一些实际的问题;
第二次作业注重对方法的使用,以日期问题为例帮助学生在实践中熟练运用方法,实现对课堂知识的活用;
第三次作业要求我们从面对对象的角度,运用类实现程序的设计。

  考察的知识内容
 第一次作业 java基本语法、运算符等
第二次作业 选择、循环结构和方法的使用
第三次作业 类的构造设计 

 

②如何通过作业逐步从面向过程过渡到面向对象
首先,要了解面向过程和面向对象的区别。面向过程由步骤的角度出发设计,即逐步完成程序中的操作设计。面向对象则是以模块为主,让设计者从功能角度出发将程序划分为数个独立却又可关联的模块。通过第一次作业,我运用课堂所学的基础java知识解决了一些问题,这让我逐渐熟悉java的语法体系,清楚区分c与java实现功能的步骤。第二次作业中选择、循环结构部分和c类似,基本可以套用,再就是熟练运用java中方法(函数)的创建方式。第三次作业是实现从面向过程到面向象过渡的关键作业,以日期问题为例,让我们转换角度,逐步分化出程序的模块,从而对程序进行面对对象化。
③作业过程中遇到的问题及解决方法
a.类的参数由于未传值使得参数未初始化出现编译错误;在查询相关问题的论坛后清楚错误的源头,修改代码即解决。
b.在类中未用new申请参数空间;对基础知识查漏补缺后便解决。
④每次作业花费的时间比例:4∶5∶13
//第一次作业:4h;第二次作业:5h;第三次作业:13h。
⑤对编程过程的逻辑严谨性的认识及教训
在编程过程中,由于逻辑错误而产生的bug频繁出现。在循环体系的设计中、算法设计中、数据运用中等等,bug无处不在,而你逻辑的缜密程度决定了bug的数量。除此外,有些低端的语法错误也时常出现。由此可见,作为一个程序员,实现程序的过程中我们必须以严密的逻辑去编写代码,同时心态也万不可急躁,否则后期调试代码的时间成本将会大大增加。
**2.OO设计心得**
①面向过程与面向对象的比较
在作业总结中略有叙述两者的比较,接下来从主观感受阐述两者的关系。

在学习面向对象的设计思维时,我常以演出为例。在这场演出中,面向过程类似于规划流程:主持人开场演讲→演员一表演→演员二表演→主持人闭幕演讲;而面向对象则是分化这场演出所需的角色(程序的功能):主持人和演员,再细分主持人和演员的任务。面向过程重视步骤,面对对象重视模块。这是我对两者关系的想法。

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

单一职责原则 单一职责原则可以看做是低耦合高内聚思想的延伸,提高高内聚来减少引起变化的原因。
开放封闭原则 软件实体对扩展是开放的,但对修改是关闭的。因为修改程序有可能会对原来的程序造成错误。
里氏代换原则

在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象。

依赖倒转原则 ①高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。
②抽象不应该依赖于具体实现,具体实现应该依赖于抽象。
接口隔离原则 使用多个专门的接口来取代一个统一的接口。

 

③OO编程思维的理解

将编程过程中的一切目标作为对象,再把带有类似特征的目标作为类,以此实现功能解决问题。

**3.测试的理解与实践**
①测试对于编码质量的重要性

在代码编写中,完成大体代码只是任务的一半,不断地修改、测试以消除bug占任务的另一半。毋庸置疑,后者必定是关键的基建步骤,编写代码像是给程序华丽的整体外表,而细节部分则需要测试来完成。在尝试了不同情况的多种测试点后,你才能完善程序功能的瑕疵,提高代码质量。

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

第一步:了解测试参数的功能需求,即它要用来做什么。第二步:根据测试参数的作用,为测试用例分类,这一步需要大量思考,以避免程序的bug大量出现。
**4.课程收获**

通过该课程的第一阶段,我初步了解到面向对象的概念,在课后作业的联系中,对知识做到深入浅出。为今后的java编程能力实现了地基工程,也使我作为程序员的素质得到了提升。
**5.对课程的建议**

希望课程多增添一些当下java领域的热点话题作为知识拓展。

posted on 2020-04-04 22:44  巴普洛夫的犭句  阅读(105)  评论(0编辑  收藏  举报

导航