• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
renkang
博客园    首页    新随笔    联系   管理    订阅  订阅
OO第二单元作业总结

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.对课程的建议
    ①第三阶段作业难度、题量的建议

难度较之前难度确实有明显提升。题目量正常。
    ②课程内容讲解方面的建议

很好。

posted on 2020-05-01 21:09  renkang  阅读(107)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3