OO第二单元(5-8周)作业总结要求(第八次作业)
0 .前言
本次博客主要是对第五到八周的作业进行总结,以及在编程过程中的一些心得体会,
- 作业过程总结:
 
(1) 作业难度由易到难,但整体来说还是对于本人还是难度较大,较难完成,这几次作业考察了继承,封装,多态,以及正则表达式。
(2) 在第五次作业第三题中,考察了继承知识。继承即为子类继承父类的属性,子类可以对继承的父类进行重写,使之可拥有与父类相同的属性,也可以重写后拥有父类未拥有的属性。例在第五次作业第三题中子类继承父类图形形状,经过重写后子类可为圆形,三角形,矩形等多种形状属性。封装性是指将代码保护,防止该类的代码和数据被外部类定义的代码访问。增强的代码的安全性,还可以使类内部的结构可以自由修改。多态是指对象多种形式的表现,在父类引用指向子类对象时,在子类的属性不同时,父类中的属性也会随之改变。它使代码更加灵活,也简化了代码。其次多态存在的三个必要条件:一、要有继承;二、要有重写;三、父类引用指向子类对象。
(3) 作业过程中遇到的问题及解决方法:
在使用正则表示式完成代码时,比较难理解。花费了大量时间来进行相关表达式的使用规则,也花费了大量时间来进行调试。但还是没有记住一些正则表示式的使用规则及意义。
在写代码时,会因为耐心不足而放弃。这是一个极大的问题,轻易放弃使得代码编写十分困难,心情会变得烦躁,无心写代码。
(4) 每次作业花费的时间比例
14h : 7h : 4h
(5) 对编程过程的严谨性的认识及教训:
在代码中,一个再小的错误都不能忽视,不管错误再小都得纠正,不然这个小小的错误都会酿成大错,其造成的损失可能无法估量。所以在编写代码时必须保持严谨。在代码中必须添加适当的注释,这样有助于理解代码含义,也有助于后期调试代码的简易性。
2.OO设计心得
① 对面向对象三大技术特性之间关系的理解
三大技术特性即为:封装、继承、多态。
封装:隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
继承:继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
多态:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。
② 面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)
a) 单一职责原则:
它规定一个类应该只有一个发生变化的原因。
b)“开-闭”原则:
软件中的对象(类,模块,函数等等)应该对于扩展是开放的,但是对于修改是封闭的”,这意味着一个实体是允许在不改变它的源代码的前提下变更它的行为。该特性在产品化的环境中是特别有价值的,在这种环境中,改变源代码需要代码审查,单元测试以及诸如此类的用以确保产品使用质量的过程。
③ OO编程思维的理解
创造出一个个的类,并用有关类的封装、继承、多态的特性创造出解决问题的各种类,通过这么多的类,可以在不大量改变代码的同时解决大量该种问题,使代码拥有极高的拓展性和便利性。
3.测试的理解与实践
① 测试对于编码质量的重要性
测试对于编码质量及其重要,一个好的测试方式直接反映了该代码在特殊条件下和正常条件下能否正常运行。
② 查阅资料,假设使用Junit进行程序的测试是否可行
经过查阅资料,使用Junit是可行的,
4.课程收获
通过这次课,让我了解了冰冻三尺非一日之寒,要想真正学会面对象序设计,绝不仅仅是靠一晚上的突袭,一晚上的复习可以掌握的,世界上无数的大牛都还在学习,而我一个学生更应该学习了。只有脚踏实地,踏踏实实的上课,才能够学会真正的编程技术。
5.对课程的建议
希望PTA的题目截止后,能够发布答案,方便未做的同学有个标准答案可以参考,这样才能认识到自己是否真真正正的掌握了该题目,而不是单纯的靠卡得分点而获得成绩。
                    
                
                
            
        
浙公网安备 33010602011771号