第二阶段作业总结

0.前言

 

这次作业主要是针对最近三次作业中遇到的问题以及通过这三次作业获得的收获,和在此之后的一些感想。

1.作业过程总结

 

①总结三次作业之间的知识迭代关系

 

第一次作业中的第一题难度在这三次作业中最大,用到的知识点最多,总体上程序设计复杂,做起来难度较大;其他的题目难度不大,但思考全面比较困难;第二次和第三次作业都用到了继承以及多态,第三次作业还用到了接口的应用;相对来说第二次作业要比第三次作业复杂。但是三次作业用到的Java的方法越来越多。

②如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性

面向对象程序设计的三大技术特性:封装,继承,多态。在作业过程中逐步加深了对这三个特性的理解,每一个类的设计都要求属性私有,每一次题目中都能体会到封装性;图像继承的一系列题目中,父类子类由大到小,体会到了设计的继承性;在抽象类接口类中,子类重写父类的方法,更加灵活,体会到了多态性的实际运用。

③作业过程中遇到的问题及解决方法

这次作业周期中,遇到的问题较多,在做题目是总是会产生逻辑上的问题,问题思考的不够全面,且在正则表达式上一直无法熟练应用是这次作业周期中遇到的最大的问题;正则表达式在这次作业周期中占据了非常大的一个比重是问题解决的关键;正则表达式是我在这次作业遇到的最大苦难。
④每次作业花费的时间比例

5:2:2
⑤对编程过程的严谨性的认识及教训

这次作业对逻辑的严谨性要求非常高,一点点的逻辑错误都会知识多个测试点出错。

 

  1. OO设计心得


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

 总体上的理解我感触最深的就是面向对象的三大特性都是围绕一个主题在转——让类结构具有更好的复用性。

封装性封装就是将对象的属性,方法定义到一个类里就是把对象当成一个整体来使用,是这个整体中的具体对象是怎样的,我们不知道。作业中每个类都需要封装,这也是第一节课就讲了的所有的东西都必须放在类里面,否则就会语法报错。

对于继承性,了解较为少,就是子类继承父类。

对于多态性,作业给出的例子很多,比如第六次作业的卡片排序啊这些,涉及到的比较全面,所谓多态,就是拥有“多种形态”的含义,是指属性或方法在子类中表现为多种形态就是相同的事物,调用相同的方法使用相同的参数,但是表现的行为不同

 

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

 

  单一职责:简单来说就是每一个类应该专注于做一件事情。它可以降低类的复杂度,一个类只负责一项职责,逻辑就会变得较为简单;也可以提高类的可读性,提高系统的可维护性;更改引起的风险也就会降低,更改时可以显著降低对其他功能的影响。

当一个类承担了过多的职责,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责的能力。这种耦合会导致脆弱的设计,当设计变化时,设计会遭受到意想不到的破坏。需要说明的一点是单一职责原则不只是面向对象编程思想所特有的,只要是模块化的程序设计,都适用单一职责原则。

判断是否职责单一的方法:如果你想到多于一个动机去改变一个类,这个类就具有多于一个的职责,就应该对类进行职责分离。

 

  开闭原则:了解较少,上网了解后知道了它是一种编程思想,而不是编程方法,是不可以修改的。面向的是扩展开放,是修改关闭。开放封闭原则主要体现在对扩展开放、对修改封闭,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。

③OO编程思维的理解

OO设计主要任务是将设计尽量和现实世界的事务一致化。要尽量使代码得到重用、复用。注意体现单一职责,开闭原则等七大原则。此外,表现出三大特性:封装性、继承性、多态性。

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

测试是检验代码的重要一环,是改正逻辑错误的主要方式,逻辑的错误是很难看出来的,所以调试是更正这些错误的主要方法。
4.课程收获

这四周中,学会了继承和多态的基本用法,了解了正则表达式的基本用法,学会了类图的修改和自己画一个项目的类图。
5.对课程的建议

①第三阶段作业难度、题量的建议

第三阶段作业的题目不要太难,题目少的话难度就稍微大一点,题量多的话就简单一点。我希望在作业截止后把做得好的同学的答案发出来,可以让别人借鉴和刚改一下。
②课程内容讲解方面的建议

老师可以多讲解一些题目,这样可以更加熟悉课程,而不限于仅仅是理论。

posted @ 2020-05-02 19:24  1533469106  阅读(13)  评论(0)    收藏  举报