0.前言
本次作业的难度比较上次难度有明显增加
1.作业过程总结
①总结三次作业之间的知识迭代关系;
homework5注重让应用子类对父类的继承,
homework6在继承的上再引入java的多态性。
homework7引入comperable比较面积大小并排序。
②如何通过作业逐步理解面向对象的封装性、继承性与多态性三大技术特性;
在作业中,在设计程序的过程中运用封装,多态和继承性能让学生很快的理解这三个重点。
③作业过程中遇到的问题及解决方法
comperable 的应用问题。和对象实例的交换问题。csdn查找知识点或者看网课回放。
④每次作业花费的时间比例
水文数据校验及处理 数据量较大,耗时较长。图形的继承的类似题目有以前作业的基础,作业较快完成。
⑤对编程过程的严谨性的认识及教训
2.OO设计心得
①对面向对象三大技术特性之间关系的理解
封装,封装是面向对象编程的核心思想,将对象的属性和行为封装起来,而将对象的属性和行为封装起来的载体是类,类通常对用户隐藏其实现的细节,这就是封装的思想,在Java中通常通过建立一个实体类,用来封装对象的属性和行为,通过setXxx()和getXxx()方法封装起来。
.继承性,简单来说就是使子类的对象拥有父类的全部属性和行为,同时可以增添自己的所特有的属性和行为。这样可以节省写共同具有的属性和方法代码的时间,有利于代码的复用。
多态性,简单来说就是一个程序中同名的多个不同方法共存的情况,通常使用方法的重载和重写(也叫覆盖)来实现类的多态性,多态性允许以统一的风格编写程序,以处理种类繁多的已存在的类以及相关类,多态的实现并不依赖具体类,而是依赖抽象类和接口,在多态的机制中,父类通常会被定义为抽象类,在抽象类中给出一个方法的标准,而不给出实现的具体过程,通过继承父类来实现,而比抽象类更方便的是将抽象类定义为接口。
②面向对象设计的基本原则理解(单一职责原则及“开-闭”原则)
软件实现应该对拓展开放,对修改关闭。也就是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有代码来实现变化。
③OO编程思维的理解
oop即面向对象编程实现。在三大要素中封装即根据用户需求设置权限
- public:表明所有对象都可以访问;
- protected internal:表明同一个程序集内的对象,或者该类对象以及其子类可以访问;
- internal:表明只有同一个程序集的对象可以访问;
- protected:表明只有该类对象及其子类对象可以访问;(关于继承,会在以后介绍)
- private:表明只有对象本身在对象内部可以访问;
继承性即为了增加代码的复用性。如果一个类A继承自另一个类B,就把这个A称为"B的子类",而把B称为"A的父类"。继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。
多态性即对象可以表示多个类型【如果A类(新类,也叫派生类)继承了B类(父类,也叫基类),那个A 类就有两个有效类型:新类(自己)的类型和它继承的类(父类)的类型】的能力称为多态性。对象根据所接收的消息而做出动作。同一消息为不同的对象接受时可产生完全不同的行动,
④类设计心得
精简父类,只为定义方法名。繁复子类,重载父类方法。
3.测试的理解与实践
①测试对于编码质量的重要性
测试点少可以容易骗测试点。即bug较多,程序设计的应用面不广。
②查阅资料,假设使用Junit进行程序的测试是否可行
junit可能是更加大工作量。意见保留。
4.课程收获
总结这四周来在OO方面的教训及收获
5.对课程的建议
①第三阶段作业难度、题量的建议
难度较之前难度确实有明显提升。题目量正常。
②课程内容讲解方面的建议
很好。
浙公网安备 33010602011771号