OO第一单元(前四周)作业总结

OO第一单元(前四周)作业总结要求(第四次作业)

0.前言

本次博客针对的是本人学习Java的第一阶段的三次作业的作业总结

第一次作业的内容是:7-1 计算税率 (20分),7-2 判断坐标点所在范围 (20分),7-3 电话键盘字母数字转换 (20分),7-4 判断三角形类型 (20分),7-5 统计最大数出现次数 (20分)。

第二次作业的内容是:7-1 求一元二次方程 (10分),7-2 判断闰年及星期几 (30分),7-3 求下一天 (30分),7-4 求前N天 (30分)。

第三次作业的内容是:7-1 用类解一元二次方程式 (10分),7-2 日期类设计 (30分),7-3 日期问题面向对象设计(聚合一) (30分) ,7-4 日期问题面向对象设计(聚合二) (30分)。

1.作业过程总结

①第一次作业所用到的知识点,大部分是面向过程的知识(即C语言的知识),少部分的是面向对象语言(Java)的基础知识,如Java的编程的语法,编程习惯(变量与运算符之间要有空格等)等,本次作业需要运用到循环结构和选择结构的知识点,通过本次作业,让Java中的循环结构和选择结构的知识点在我们的脑海中得到进一步的强化。

第二次作业则是面向对象语言的知识占大部分,开始运用到Java语言的中的方法,以及编程思维和编程习惯慢慢地由面向过程的转向面向对象的。本次作业不仅仅是简单的循环结构就能解决问题,还需要运用到方法的知识点,而这块是面向对象和面向过程区分之处。

通过本次作业,让我们了解了存根用法和返回实数根的个数的方法solveQuadratic(double[] eqn, double[] roots);,判断是否为闰年的方法isLeapYear(int year); 及boolean 类型的知识点,求出year-month-day到0001-1-1的距离天数并返回的方法numOfDays(int year,int month,int day);,和根据天数来返回星期几的方法getWhatDay(int days);。

第三次作业所用到的知识点就更加广阔了,涉及到类与对象的定义、构造方法的重载与使用、属性与方法、类的设计原则以及类间关系等知识点。通过本次作业,让我们了解了检测输入的年,月,日是否合法的方法public boolean checkInputValidity();,取得year-month-day的下n天日期的方法public DateUtil getNextNDays(int n);

2.OO设计心得

①面向过程与面向对象的比较

1)语法方面,面向对象设计的语法更加精减,更能体现出代码所表达的含义,而面向过程的语法一般比较繁琐。

2)

②面向对象设计的基本原则理解

目前好像只是接触了类设计的的单一职责原则,对该原则的理解是不能跑题,方法必须围绕着类进行。取类名要做到见名知义,属性是分量。

③OO编程思维的理解

需知晓类与类的关系和调用方法吧

 

3.测试的理解与实践

①测试对于编码质量的重要性

通过测试,能够检验编码的质量的好坏

②假如让你设计测试用例,你会如何做

1)设计输入输出结果为合法的数据 2)设计输入输出结果为非法的数据3)设计5个以上的测试用例

4.课程收获

通过本阶段的学习,我基本了解并掌握了一些面向对象设计的语法(但还是有一些语法没有掌握)特别是运算符两边都要有空格,花括号直接在小括号后面。知晓了类设计的单一职责原则;类里的变量的属性一般为私有属性。了解了类和类的四种关系:耦合(关联,聚集,依赖,泛化)且耦合度要越低越好,内聚等的概念;类的封装性:private ,public ,protected,默认的(都可以不写);类的继承性:可复用性(父类parent class,超类super class,基类 base class,子类son class,派生类 derived class,及构造方法链的知识点);类的多态性:不同的对象,接收到同一个消息的时候,执行不同的操作。

 

总结这四周来在OO方面的教训及收获

教训是语法知识不牢靠,导致敲代码时经常因为某些语法问题卡壳或报错;将类图的转化为代码的能力未掌握,没有养成做题前,先画思维导图或程序流程图的习惯,以至于敲着敲着就忘了思路。

作业老是拖到最后做,以至于慢慢养成了拖延症,作业的完成度也低。收获是了解并掌握了一些面向对象编程的知识,类设计要注意的地方,类里的属性一般为私有属性,

对课程的建议

1)希望老师上课时多抽出一些时间来讲解作业,特别是思路吧。

OO第一单元(前四周)作业总结的更多相关文章

  1. OO第一单元三次作业总结

    写在前面 第一单元作业是针对输入的多项式进行格式合法判断,然后进行求导,结果长度优化,最后输出.三次难度递增,不断添加新的需求,总体感觉在实现方面没有多大困难(?),个人主要困扰环节是寻找自己未知bu ...

  2. 面向对象OO第一单元三次作业总结

    (一)第一单元的作业围绕着多项式的求导,从简单到复杂,主要的要求是 作业一:只有两种格式的因子:带符号整数(+02)和幂函数(x^+02). 作业二:在作业一的基础上添加了:sin(x)和cos(x) ...

  3. OO第一单元

    OO第一单元总结 目录 OO第一单元总结 前言 第一次作业 HW1基本思路 UML类图 代码规模 复杂度分析 方法复杂度 分析 类复杂度 分析 优化策略 第二次作业 HW2基本思路 UML类图 代码规 ...

  4. OO第一单元作业总结

    oo第一单元的作业是对多项式的求导.下面就是对三次作业分别进行分析. 第一次作业 分析 第一次作业相对来讲比较简单,甚至不用面向对象的思想都能十分轻松的完成(实际上自己就没有使用),包含的内容只有常数 ...

  5. 【作业1.0】OO第一单元作业总结

    OO第一单元作业已全部完成,为了使这一单元的作业能够收获更多一点,我回忆起我曾经在计算机组成课设中,经常我们会写一些实验报告,经常以此对实验内容反思总结.在我们开始下一单元的作业之前,我在此对OO第一 ...

  6. 北航OO第一单元作业总结(1.1~1.3)

    经过了三次作业之后,OO第一单元告一段落,作为一个蒟蒻,我初步了解了面向对象的编程思想,并将所学内容用于实践. 一.第一次作业 1.架构分析 本次作业需要完成的任务为简单多项式导函数的求解.表达式仅支 ...

  7. OO第一单元作业总结——表达式求导

    OO第一单元作业总结 第一次作业 基于度量分析代码结构 基本算法 第一次作业是简单多项式导函数求解,不需要对输入数据的合法性进行判定, 基本思想是用 (coeff, expo)表示二元组 coeff* ...

  8. 【OO学习】OO第一单元作业总结

    OO第一单元作业总结 在第一单元作业中,我们只做了一件事情:求导,对多项式求导,对带三角函数的表达式求导,对有括号嵌套的表达式求导.作业难度依次递增,让我们熟悉面向对象编程方法,开始从面向过程向面向对 ...

  9. OO第一单元总结

    OO第一单元作业总结 一.前言 开学四周,不知不觉已经做了三次OO作业.事实上,每一次作业对我来说都是很大的挑战,需要花费大量的时间和精力来学习. 虽然学得很艰苦,但最后还是连滚带爬地完成了.(好惨一 ...

随机推荐

  1. Scala 面向对象(十):特质(接口) 三

    1 在特质中重写抽象方法特例 提出问题,看段代码 trait Operate5 { def insert(id : Int) } trait File5 extends Operate5 { def ...

  2. 数据可视化之powerBI基础(二十)Power BI度量值和新建表,有什么异同?

    https://zhuanlan.zhihu.com/p/101812525 ​PowerBI中,有三个地方可以使用DAX,分别是度量值.新建列和新建表,这三个功能并成一排摆放在这里,如图所示, 之前 ...

  3. 矩阵的基本性质 之 对称矩阵,Hermite矩阵,正交矩阵,酉矩阵

    1.对称矩阵 2.Hermite矩阵 3.正交矩阵 4.酉矩阵

  4. 数据可视化之DAX篇(十四)DAX函数:RELATED和RELATEDTABLE

    https://zhuanlan.zhihu.com/p/64421378 Excel中知名度最高的函数当属VLOOKUP,它的确很有用,可以在两个表之间进行匹配数据,使工作效率大大提升,虽然它也有很 ...

  5. Python之爬虫(十八) Scrapy框架中Item Pipeline用法

    当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的python类,负责接收到item并通过它执行一些行为, ...

  6. hihoCoder 1049 后序遍历 最详细的解题报告

    题目来源:后序遍历 解题思路:开始时我只知道先通过先序.中序求出二叉树,然后再后序遍历二叉树,这当然也是一种解题思路,但是会做一些无用功,比如:计算二叉树.其实,可以直接通过先序序列和中序序列直接求出 ...

  7. bzoj1682[Usaco2005 Mar]Out of Hay 干草危机*

    bzoj1682[Usaco2005 Mar]Out of Hay 干草危机 题意: 给个图,每个节点都和1联通,奶牛要从1到每个节点(可以走回头路),希望经过的最长边最短. 题解: 求最小生成树即可 ...

  8. Oracle数据泵详解

    一.EXPDP和IMPDP使用说明 Oracle Database 10g引入了最新的数据泵(Data Dump)技术,数据泵导出导入(EXPDP和IMPDP)的作用 1)实现逻辑备份和逻辑恢复. 2 ...

  9. 题解 洛谷 P2086 【[NOI2012]魔幻棋盘】

    先考虑只有一维的情况,要求支持区间加和求区间 \(\gcd\),根据 \(\gcd\) 的性质,发现: \[ \gcd(a_1,a_2,a_3,\ldots a_n)=\gcd(a_i,a_2-a_1 ...

  10. 原来python还可以这样处理文件

    首先我为大家介绍一下python语言吧! Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. Python 的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言 ...