20182318 2019-2020-1 《数据结构与面向对象程序设计》第六周学习总结

20182318 2019-2020-1 《数据结构与面向对象程序设计》第六周学习总结

教材学习内容总结

第九章 多态

  • 后绑定。效率低于编译阶段的绑定效率。
  • 学习练习如何利用继承方式来实现多态性。
  • 学习练习如何利用接口来实现多态性。
  • 多态性设计(多个不同对象执行相同的基本行为,并且行为的不同实现方式取决于对象的具体类型。)

第十章 异常

  • 异常处理(异常抛出的问题和处理异常的方法)
  • 未捕获的异常。
  • try-catch语句与finally子句。
  • 异常传播。(就与传递性一样,举个例子:程序一存在异常,程序二调用程序一,程序二就会存在与程序一相同的异常。)
  • 异常类层次结构。(许多类型的异常类都由Exception类派生,但定义各种异常的子类却分散定义在其他几个包中,继承关系可以跨越包边界。)
  • 自定义异常与必检异常与免检异常。
  • 字节流和字符流的掌握
  • flush的应用和追加

教材学习中的问题和解决过程

问题1:类与接口有什么不同

问题1解决方案:类可被实例化,接口不能被实例化。接口可以只包含抽象方法和常量。类提供了接口的实现。类层次和接口层次不能交叉。类可以用来派生一个新类,接口可用来派生一个新接口的实现。

问题2:字节流和字符流到底是什么?定义在java.io包中的那么多方法都怎么系统的理解?

问题2解决方案:在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。InputStream和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串。字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。

问题3:如何连续读入多条信息

问题3解决方案:flush追加配合循环语句的使用。即将flush追加放在循环中。应为flush一次加载100条信息,运行起来很难并且容易出错

代码调试中的问题和解决过程

  • 问题1:错误信息提示:系统找不到指定路径
  • 问题1解决方案:创建新文件是路径设置错误,将路径改正到想储存的地方即可
  • 问题2:如何实现try catch的连续多次引用?
  • 问题2解决方案:将try catch与循环相结合即在try catch外一层设置无限循环,使用一个布尔数控制循环的终止。

    代码托管

(statistics.sh脚本的运行结果截图)

上周考试错题总结

  • 错题1及原因( 单选题 | 1 分)
    Comparing the amount of memory required by selection sort and insertion sort, what can one say?

A
.
Selection sort requires more additional memory than insertion sort

B
.
Insertion sort requires more additional memory than selection sort

C
.
Both methods require about as much additional memory as the data they are sorting

D
.
Neither method requires additional memory
E
.
None of the above
正确答案: D 你的答案: B

解析:选择排序和插入排序都可以“就地”实现。这意味着不需要额外的内存,排序后的数据只是在数据数组中进行重新排列。

  • 错题2及原因
  • Java allows one to create polymorphic references using inheritance and using interfaces.

A
.
true

B
.
false

正确答案: A 你的答案: B

解析:继承允许一个人使用一个基本变量来引用不同的后代成员,正确的变量将在执行过程中被使用。这就是多态性的作用。接口提供了类似的机制,但使用的是抽象方法,而不是继承中使用的具体方法。然而,效果是一样的。

  • 错题3及其原因
  • The type of the reference, not the type of the object, is use to determine which version of a method is invoked in a polymorphic reference.

A
.
true

B
.
false

解析;反了!决定调用哪个方法的是对象的类型,而不是引用的类型。

点评过的同学博客和代码

  • 本周结对学习情况

    • 20182333
      20182317
    • 结对照片
    • 结对学习内容
      对多态的学习和讨论
      多态与继承和接口的关系
      对异常的学习和讨论
      三种标准I/O流(in、out、err)

其他(感悟、思考等,可选)

时间越来越紧张,各科的作业也越来越多。Java难度也渐渐加大了,必须要加强自主学习。真东西是等不来,抄不来的,相信在王老师英明的带领下,我们会越学越好。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
第六周 1175/1000 3/7 22/60

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
耗时估计的公式:Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:24小时
  • 实际学习时间:20小时
  • 改进情况:
    相比较以前,更加投入了

(有空多看看现代软件工程 课件
软件工程师能力自我评价表
)

参考资料

原文地址:https://www.cnblogs.com/1400694592qq/p/11681962.html

时间: 2024-08-03 08:32:02

20182318 2019-2020-1 《数据结构与面向对象程序设计》第六周学习总结的相关文章

《数据结构与面向对象程序设计》第四周学习总结

20182304 2019-2020-1 <数据结构与面向对象程序设计>第四周学习总结 教材学习内容总结 1.本章我们学习了使用并编写我们自己的类:类中有与类同名的构造方法,也可以有set,get,toSring与自己定义的方法.实例化一个对象,可通过该对象使用类里的所有方法.实例数据是每次创造一个实例后自动生成新的内存空间的变量 2.uml类图 :每个类可能包含三部分内容:类名.属性.操作(方法).UML类图有属于自己的语法,变量的类型名在变量名的后面,它们之间用冒号作为分隔符,方法的+和-

20182306 2019-2020-1 《数据结构与面向对象程序设计》第五学习总结

20182306 2019-2020-1 <数据结构与面向对象程序设计>第五学习总结 教材学习内容总结 尽量简单的总结一下本周学习内容 尽量不要抄书,浪费时间 看懂就过,看不懂,学习有心得的记一下 教材学习中的问题和解决过程 问题1:XXXXXX 问题1解决方案:XXXXXX 问题2:XXXXXX 问题2解决方案:XXXXXX ... 代码调试中的问题和解决过程 问题1:XXXXXX 问题1解决方案:XXXXXX 问题2:XXXXXX 问题2解决方案:XXXXXX ... 代码托管 (stat

20182322 2019-2020-1 《数据结构与面向对象程序设计》第四周学习总结

教材学习内容总结 1.编写类与方法(构造方法的结构和用途) 2.实际参数与形式参数.public与private.return与void的区别与含义. 3.UML类图的含义与形式 4.静态类(Math类)静态变量.静态方法 5.类间关系(依赖关系.聚合关系.继承关系) 6.接口的使用,能够在某个类中实现接口的方法(Comparable.Iterator) 7.软件活动开发.方法设计.方法重载.测试(黑盒测试.白盒测试) 教材学习中的问题和解决过程 问题1:toString与return返回的值的

20182335 2019-2020-1 《数据结构与面向对象程序设计》第四周学习总结

教材学习内容总结 1.继承的基本语法与用法. 2.利用UML类图表示继承关系. 3.在具体编写类的时候,先是数据声明再是方法声明. 4.toString方法用println或print或字符串连接会自动调用. 5.每创建一个对象.都会为类中声明的变量建立新的内存空间. 6.UML图一些基础使用方法. 7.对象应该是自管理的,既对象的实例数据应该仅由该对象来修改,这就构成了封装. 代码调试中的问题和解决过程 问题1:测试代码出现错误 问题1解决方案:junit的方法名必须是textxxx或xxxt

20182318 2019-2020-1 《数据结构与面向对象程序设计》实验六报告

20182318 2019-2020-1 <数据结构与面向对象程序设计>实验四报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 王振澳 学号:20182318 实验教师:王志强 实验日期:2019年10月23日 必修/选修: 必修 1.实验内容 链表练习,要求实现下列功能: 通过键盘输入一些整数,建立一个链表: 这些数是你学号中依次取出的两位数,再加上今天的时间 例如你的学号是 20172301,今天时间是 2018/10/1, 16:23:49. 数字就是:20, 1

20182318 2019-2020-1 《数据结构与面向对象程序设计》实验九报告

20182318 2019-2020-1 <数据结构与面向对象程序设计>实验九报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 王振澳 学号:20182318 实验教师:王志强 实验日期:2019年12月2日 必修/选修: 必修 1.实验内容 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数.边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)(2分) 图的遍历:完成有向图和无向图

20182318 2019-2020-1 《数据结构与面向对象程序设计》第2和3周学习总结

20182318 2019-2020-1 <数据结构与面向对象程序设计>第2和3周学习总结 教材学习内容总结 教材第二章内容 学习Java基本数据类型以及数据转换知识: println与print的用法和区别: 转义字符的概念及用法: 运算符(自增自减,赋值,加减乘除模)用法及优先级: 学习Scanner类,编写可输入的程序. 完成课后自测题,以及作业PP2.2,PP2.4,PP2.6等. 第三章内容 1.Random类用来生成随机数 2.Matn主要是基本数学函数,静态方法 3.Number

20182327 2019-2020-1 《数据结构与面向对象程序设计》实验二报告

20182327 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名:赵天昊 学号:20182327 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,测试验证. 2. 实验过程及结果 不多说,上

20182319《数据结构与面向对象程序设计》实验二报告

20182319 2019-2020-1 <数据结构与面向对象程序设计>实验二报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 彭淼迪 学号:20182319 实验教师:王志强 实验日期:2019年9月16日 必修/选修: 必修 1.实验内容 (1) 编写简单的计算器,完成加减乘除模运算. (2) 要求从键盘输入两个数,使用判定语句选择一种操作,计算结果后输出,然后使用判定和循环语句选择继续计算还是退出. (3) 编写测试代码,用规定方法测试验证. 2. 实验过程及结果