Java-第二次PTA作业总结

1.作业过程总结
1)第一次作业水文数据校验及处理学习并运用正则表达式,蒙特卡罗方法求圆周率利用蒙特卡罗方法求取圆的圆周率, 图形继承学习了继承方法实现子类继承父类;第二次作业图形继承与多态在第一次作业图形继承基础上添加了多态性,学习了抽象方法、方法重载和方法重写,一元多项式求导在第一次作业水文数据校验及处理的基础上进一步加深对正则表达式的运用和理解;第三次作业图形卡片排序游戏和图形卡片分组游戏都在前两次作业基础上进一步对继承多态和接口的学习和运用。这三次作业都在给定类图的基础上实现的。
2)封装性:封装是一种信息隐蔽技术,它体现于类的说明。这几次作业使得我们认识封装是对象的重要特征,它把对象的设计者和对象的使用者分开,使得使用者不必知晓其行为实现的细节,只须用设计者提供的消息来访问该对象。
继承性:继承就是子类继承父类的特征和行为。通过这几次作业了解了继承的使用方法以及继承的好处,例如可以避免对象中的数据、方法的大量出现。因此不仅支持系统的可重用性,而且还促进系统的可扩充性。
多态性:多态是同一个行为具有多个不同表现形式或形态的能力。通过这几次作业学习多态的使用方法,了解多态的好处,例如可以使程序有良好的扩展,并可以对所有类的对象进行通用处理。而多态性的实现受到继承性的支持。
3)问题:作业过程中类图之间调用不是太了解,导致在实现代码过程中比较困难;初次学习正则表达式很多地方不能理解,使得做起来困难;以及继承、抽象等方法都是第一次接触,许多地方较难理解。
解决方法:这些问题的是对基础知识方面的理解,所以多学习和运用这些知识。
4)因为这次大作业相对与上一次来说较难,因此所花费的时间比上一次要长很多,这次的第一次作业因初次学习正则表达式,所花费的时间是最长得;第二次作业相对于第一次来说简单一些,但在一元多项式求导花费较长时间;第三次作业是这次大作业中最简单的一次,因此花费时间不是很多。
5)和第一次大作业一样,Java相对C语言较苛刻,严谨性相对也较苛刻一些,一些在C语言中能运用的例子,在Java中却无法运用体现了Java的严谨性,但Java又是简单的,Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,而是引用。并提供了自动的废料收集,使得程序员不必为内存管理而担忧。因此在运用Java编程过程中,要注意java的严谨性,不能随意更改Java的语法。
2.OO设计心得
1)对面向对象三大技术特性之间关系的理解
面向对象包括封装、继承、多态三大特性。
封装性:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏,这就是封装;封装是一种信息隐蔽技术,它体现于类的说明。
继承性:继承就是子类继承父类的特征和行为,是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。
多态性:多态就是指一个类实例的相同方法在不同情形有不同表现形式。多态机制使具有不同内部结构的对象可以共享相同的外部接口。
2)面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)
单一职责原则:一个对象有且仅有一种功能,同时也仅有一种功能需求的变更能够引发该对象实现的修改。好处是 类的复杂性降低,实现什么职责都有清晰明确的定义;可读性提高,复杂性降低,那当然可读性提高了;可维护性提高,可读性提高,那当然更容易维护了。
“开-闭”原则:一个软件模块如类、模块和函数应该对扩展开放,对修改关闭。优点是提高软件系统的可复用性及可维护性。
3)OO编程思维的理解
面向对象是一种程序设计思想,OOP把对象作为程序的基本单元,也就是说,在面向对象编程的世界里,万事万物皆对象。面向对象就是是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为,面向对象有着三个特征:封装性,继承性,多态性。一种事物对应一个类,事物的属性定义为变量,事物的行为写成方法,把封装好的对象对外提供访问,提高了软件的重用性、灵活性和扩展性。
5)通过这次大作业的学习和运用,了解了类的设计具有非常强的严谨性,在设计类的过程中要清楚的认识到它的严谨性,否则将会使得代码无法完成所要求的结果;其次要理解类与类之间的调用关系。
3.测试的理解与实践
1)测试对于编码的质量是十分重要的,它可以降低你在编码过程中的错误,减少出错,以此来减少在编码过程中所消耗掉的时间,大大提高编码的效率。
2)java所用的测试工具是Junit,是一个 Java 编程语言的单元测试框架。JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一。因此使用Junit进行程序的测试是可行的。
4.课程收获
作业过程中类图之间调用不是太了解,导致在实现代码过程中比较困难;初次学习正则表达式很多地方不能理解,使得做起来困难;以及继承、抽象等方法都是第一次接触,许多地方较难理解。因对基础知识了解较少导致遇到许多的困难。因此要更多地了解基础知识,并将这些基础知识能够灵活运用。

猜你喜欢

转载自www.cnblogs.com/samu/p/12814206.html
今日推荐