1.作业过程总结
1)发布三次作业,第一次作业主要是对Java的熟悉,通过课上的学习和第一次作业认识和初步了解Java的使用,对Java的学习有一定的认识和了解;第二次作业是在第一次作业的认识和熟悉的基础下,进一步对Java的学习并学习运用Java的类和方法以及各种算法;第三次作业是在前两次作业的学习和实践基础下,加上对UML类图的学习,通过UML类图的关系帮助我们简化理解。这三次作业让我们逐步深入的学习和认识Java,第一次作业初步认识和理解Java,第二次作业加强对Java的理解和Java的面向对象的认识,第三次作业在前两次作业的基础上,通过对UML类图的学习,进一步加强对Java的理解以及面向对象的认识。
2)面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象就是是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。从面向过程逐步过渡到面向对象,第一次作业过多的倾向于面向过程主要是熟悉认识Java的应用,而后两次作业更多的倾向于面向对象,尤其是第三次作业。通过三次作业加强认识熟悉Java面向对象的理解。
3)第一次作业较为简单,与C语言有较多相似;第二次作业主要是Java类,属性,方法的一些应用,各方法之间的相互调用较难,第一次学习运用多少有些困难,以及题中的各种算法的不熟悉,使编程起来比较困难,例如7-2 判断闰年及星期几,需要用到计算两日期的天数的公式,以及给定日期是星期几的公式,我的方法:去百度,找度娘。第三次作业难度较大,需要用到UML类图,结合UML类图实现Java的运用,目前难度太大,因为UMl类图不是很懂,所以很多做不出来,需要加强对UML类图的理解,以及UMl类图在Java中的应用。
4)第一次作业相对简单,做起来没有困难,所花费的时间在三次作业中最少,因较简单完成起来不是很困难,花费时间相对较少;第二次作业居中,较第一次作业花费时间较长,相对也不是很难,所以没有花费很多时间;第三次作业是三次作业中最难的,完成起来困难,花费时间较长,因为较困难是三次作业中花费时间最长的。
5)Java相对C语言较苛刻,严谨性相对也较苛刻一些,一些在C语言中能运用的例子,在Java中却无法运用体现了Java的严谨性,但Java又是简单的,Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。因此在运用Java编程过程中,要注意java的严谨性,不能随意更改Java的语法。
2.OO设计心得
1)面向过程与面向对象的比较
面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了;面向对象就是是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为,面向对象有着三个特征:封装性,继承性,多态性。面向过程和面向对象各有所长,面向过程主要用于C语言,是编程首先,同时也是基石,现在很多编程语言的底层都是C语言来完成的;而面向对象主要用于Java,因可以继承某些功能所以代码量相对较少,并在解决复杂是逻辑上更加占据一定的优势。
2)面向对象设计的基本原则
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。
开放封闭原则:是说软件实体(类、模块、函数等等)应该可以扩展但不可修改。
依赖倒置原则:依赖抽象,不要依赖具体。
里氏代换原则:子类型必须能够替换到他们的父类型。
接口隔离原则: 多个和客户相关的接口要好于一个通用接口。
迪米特法则:不相互直接通信的类之间,不要直接发生相互作用。
合成/聚合复用原则:尽量使用合成/聚合,尽量不要使用继承。
3)OO编程思维的理解
面向对象就是是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为,面向对象有着三个特征:封装性,继承性,多态性。面向过程和面向对象各有所长,面向过程主要用于C语言,是编程首先,同时也是基石,现在很多编程语言的底层都是C语言来完成的;而面向对象主要用于Java,因可以继承某些功能所以代码量相对较少,并在解决复杂是逻辑上更加占据一定的优势。面向对象是一种程序设计思想,OOP把对象作为程序的基本单元,也就是说,在面向对象编程的世界里,万事万物皆对象。一种事物对应一个类,事物的属性定义为变量,事物的行为写成方法,把封装好的对象对外提供访问,提高了软件的重用性、灵活性和扩展性。
3.测试的理解与实践
1)测试是对编码的检测,查证在编码过程中的错误,以此提高编码的质量。
2)根据题目具体进行编码的设计测试。
4.课程收获
通过前四周的学习,初次认识了Java面向对象,以及面向对象的特征与特性;并加深了对Java的运用和熟悉,了解了面向对象设计的基本原则(网上找的);学习Java必须要了解Java的各种语法,类,属性,方法,等等。