OO第二单元(5-8周)作业

  1. 作业过程总结

①pta上的第五次作业主要考察了类的继承和正则表达式的运用,第六次作业考察了类的继承和多态性,第七次作业要求同学掌握类的继承、多态性使用方法以及接口的应用和算法设计与优化。

②面向对象的第一大特性指的是就是封装性,而封装性最重要的特点就是内部结构对外不可见。在之前的操作中可以发现所有类中的成员属性都可以直接同过实例化对象在类的外部进行调用,而这样的调用是不安全的,那么此时最稳妥的做法就是利用private实现成员属性的封装处理。而一旦使用了private封装之后,是不允许外部对象直接访问成员属性的,而此时的访问则需要按照Java的set和get方法来设置和获取成员属性。面向对象的第二大特性是继承性,继承性是指扩充一个类已有的功能,增强代码的重用性,继承是多态的前提 ,如果没有继承,就没有多态。面向对象的多态性的展示形式1是方法的多态性,指的是方法的重载和覆写。展示形式二是对象的多态性(父类和子类实例之间的转换处理),有对象向上转型和对象向下转型。

③我在写这几次作业也遇到了诸多问题,逻辑错误也经常犯,有时因这些错误要花费较多的时间,但结果还好,通过查阅资料,逻辑错误也得到了很好的解决。逻辑错误也会导致答案出现错误。

⑤这几次作业我花费了蛮多时间的,比前几次作业花费的时间要多,难度系数比之前的要大。所花的大致时间比例是1:1:1,时间比较均衡,在写代码时,有时会看错题目,没有理解题目的意思,所以导致结果出错,但是经过我的深思熟虑,终于搞懂了题目的意图,解决了这道题目。

⑥对编程过程的严谨性的认识及教训:编程时我们总会出错,出错的原因有知识点掌握不到位,审题不太清楚,导致代码出现混乱,紊乱,出现常识性的错误,可是,经过我查阅网上资料,终于功夫不负有心人,代码写的还是可以的。对我来说,比较需要注意的就是注意变量的命名和使用,因为经常会嫌弃名字太长而命名一些单个字母的变量,一旦代码长了就会混乱,忘记某个变量的作用是什么,所以希望以后自己能脚踏实地一些,按照作用来命名一些变量吧,否则实在容易混淆。

       2.OO设计心得

①对面向对象三大技术特性之间关系的理解

我的理解是封装就是把抽象的数据和对数据进行的操作封装在一起,数据被保存在内部,程序的其他部分只有通过被授权的操作(成员方法)才能对数据进行操作。继承可以解决代码复用问题,让我们编程更加靠近人类的思维,当多个类存在相同的属性(变量)和方法时,可以从这些类中抽象出父类(比如刚才的Student),在父类中定义这些相同的属性和方法,所有的子类不需要重新定义这些属性和方法,只需要通过extend语句来声明继承 父类:class 子类 extends 父类这样,子类就会自动拥有父类定义的属性和方法。所谓多态,就是指一个引用(类型)在不同情况下的多种状态,你也可以这样理解:多态是指通过指向父类的指针,来调用在不同子类中实现的方法。

②面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)

单一职责原则:

按字面理解,单一职责原则就是自己只负责自己的事,不需要理会别人的事。如果了解面对对象编程,那么应该会很容易了解这个单一职责原则。在面对对象编程中,每个对象只负责自己的任务,比如该提供数据的就只是提供数据,该负责提供服务的就只提供服务,或者只是维护对象之间的关系,这样的开发方式代码耦合度较低,较灵活,易扩展。当然也可以一个对象负责多个任务,但是任务多了修改起来就比较容易影响到其他的任务。

“开-闭”原则:

这个原则说的是,在设计一个模块时,应当使这个模块可以在不被修改的前提下被扩展, 换言之,应当可以在不必修改源代码的情况下改变这个模块的行为;因为所有软件系统中 有一个共同的特性,即它们的需求都会随时间的推移而发生变化,在软件系统面临新的需 求时,满足“开-闭”原则的软件中,系统已有模块(特别是最重要的抽象层)不能再修改,而 通过扩展已有的模块(特别是最重要的抽象层),可以提供新的行为,以满足需求。

③OO编程思维的理解

接口和抽象类的选择:取决与设计者最初的意图,抽象类只能继承,而继承的子类和父类在本质上是同一类事务。接口的实现,则是使得某个类具有某种功能,也可以通过其他的途径来到达这种目的。选择类时要尽量抽象化,越抽象越好,这样才能更好的增加代码的可扩展性,从而达到目的。
④类设计心得
3.测试的理解与实践
①测试对于编码质量的重要性
②查阅资料,假设使用Junit进行程序的测试是否可行
4.课程收获
总结这四周来在OO方面的教训及收获

OO时,写代码之前要有一个整体的框架,对整个代码的思路要知道,如果盲目地去写代码,就很容易忘记怎么去写,写的代码容易出现错误。因此,写代码要有整体意识,有清晰的思路,良好的思维,只有这样,我们写的代码才可以更加完整、准确。
5.对课程的建议
①第三阶段作业难度、题量的建议

我觉得第三阶段的作业难度较大,题量还可以,建议难度降低。
②课程内容讲解方面的建议

老师讲课速度有点快,就是觉得有时候跟不上,还有pta上的题目可以适当讲一讲,理解也可以更加深刻。

猜你喜欢

转载自www.cnblogs.com/luo-tao/p/12819917.html
今日推荐