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

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

教材学习内容总结

  • 多态引用可以在不同时间指向不同类型对象,即运行一致性的方法出现不一致的行为。
  • 使用父类声明的引用变量可以指向子类的对象,接口也可以实现多态
  • 使用try-catch来实现未捕获的异常的处理。可以使得异常被捕获进而不导致程序出现错误退出。
  • 使用try写入可能产生异常的语句,使用catch来编写在捕获异常后继续执行的代码(可以为空)。
  • 自定义异常
    - throw:抛出异常
    - throws:用于方法名的后面,做一个声明,表示下面可能会有这个异常,但是具体还是要用throw来抛出异常。
    - 在自定义异常中throws和throw必须是成对出现的,除非是用try-catch语句解决
  • 异常的传递 :从产生位置沿方法调用链向上传递

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

  • 问题1:抽象类、抽象方法的作用是什么?
  • 问题1解决方案:抽象类表示一般的概念,有一些没有声明的方法,以供子类重写。抽象方法提供方法签名,由子类继承它们。
  • 问题2:保留字super的作用都有哪些?
  • 问题2解决方案:可以用super引用来调用父类的构造方法,也可以进入父类的方法和实例数据(不管是否被隐藏)

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

  • 问题1:尝试运行老师给的测试代码,结果出现输出异常
  • 问题1解决方案:问题的原因一方面是我将应用混合运行,另一方面是我并不理解代码功能。
  • 问题2:XXXXXX
  • 问题2解决方案:XXXXXX
  • ...

代码托管

上周考试错题总结

  • Abstract methods are used when defining

    • A .interface classes
    • D .arrays
    • E .classes that have no methods
    • An interface is a class that has defined some of its components, but leaves other components (methods) for you to implement. So, these components (methods) are referred to as abstract and defined in the interface class as abstract.
    • 理解:是要重写父类中的所有抽象方法,即接口让我们实现方法,而非没有方法
  • Which of the following is true regarding Java classes?
    • A .All classes must have 1 parent but may have any number of children (derived or extended) classes
    • E .All classes can have either 0 or 1 parent class and any number of children (derived or extended) classes
    • Further, since all Java classes inherit either directly or indirectly from the Object class, all Java classes have exactly 1 parent class.
    • 理解:java类与Object类有直接见解的关系,所以每个类都有一个父类,那Object类自己呢?Object是所有类的父类,也包括它自己
  • A variable declared to be of one class can later reference an extended class of that class. This variable is known as
    • D .polymorphic
    • The term polymorphic means that the variable can have many forms. Under ordinary circumstances, Java is strongly defined that is, a variable, once declared to be of a type, can never change to be of a different type. The exception to this is that polymorphic variables can be any type of derived class (although not at the same time, the variable can change from one type to another).
    • 理解:引用变量在不同时刻指向不同类型对象的能力即为多态
  • In order to determine the type that a polymorphic variable refers to, the decision is made
    • by the Java run-time environment at run time
    • The polymorphic variable can take on many different types, but it is not know which type it has taken on until the program is executing. At the time the variable is referenced, then the decision must be made. That decision is made by the run-time environment based on the latest assignment of the variable.
    • 理解:多态在程序运行中发挥作用
  • Using the reserved word, super, one can
    • A .access a parent class‘constructor(s)
    • B . access a parent class‘methods and instance data
    • E .none of the above
    • The super reserved word provides a mechanism for accessing a parent class‘methods and instance data (whether or not they are hidden). In addition, a parent class‘constructor(s) may be accessed using super. So the correct answer is the combination of A and B which isn‘t an option so the correct answer is E.
    • 理解:其实两者都可以,也可以调用父类的抽象方法构造方法与实例数据
  • Interface classes cannot be extended but classes that implement interfaces can be extended.
    • B .false
    • Any class can be extended whether it is an interface, implements an interface, or neither. The only exception to this is if the class is explicitly modified with the word "final" in which case it cannot be extended.
    • 理解:接口也可以被扩展,只有前面带final的不行。
  • If class AParentClass has a protected instance data x, and AChildClass is a derived class of AParentClass, then AChildClass can access x but can not redefine x to be a different type.
    • B .false
    • A derived class can redefine any of the instance data or methods of the parent class. The parent class‘version is now hidden, but can be accessed through the use of super, as in super.x.
    • 理解:可以用super更改x的数据类型
  • You may use the super reserved word to access a parent class‘private members.
    • 理解:Super will allow access to all non-private members of a parent class but, not to the private ones.

结对及互评

评分标准

  1. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分
  4. 代码调试中的问题和解决过程, 一个问题加1分
  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评模板:

  • 博客中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 基于评分标准,我给本博客打分:XX分。

    点评过的同学博客和代码

  • 本周结对学习情况
    • 20182302

      • 结对学习内容
      • 共同讨论文件操作基础内容
      • 用不同方法实现多态
      • 设计程序进行异常捕获
      • 上周博客互评情况
    • 20182302

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

  • 对目前所学习的知识没有一个很好的掌握理解,比较茫然

    学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第五周 1600/2900 2/11 20/110
第六周 981 /3881 2/12 25/135
第三周 500/1000 3/7 22/60
第四周 300/1300 2/9 30/90

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

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

  • 计划学习时间:30小时
  • 实际学习时间:25小时
  • 改进情况:目前学习效率仍然不高

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

参考资料

原文地址:https://www.cnblogs.com/acgacg/p/11681932.html

时间: 2024-11-05 18:50:42

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

《网络攻防》第九周学习总结

Nmap使用实践 我们使用kali1.08攻击机对Linux靶机222.28.136.226进行nmap的相关实践,扫描其他靶机类似. 1.测试是否在线 2.查看靶机开放了哪些TCP和UDP端口及安装了什么网络服务: 3.查看靶机的操作系统版本 nmap使用方法总结: 通过主机探测,确定测试目标地址后,往往需要对主机信息做更完善的扫描.nmap可以完成以下任务:主机探测.端口扫描.版本检测.系统检测.支持探测脚本的编写.实际应用场合:通过对设备或者防火墙的探测来审计他的安全性:探测目标主机所开放

# 2018-2019-1 20165317 第六周学习总结

2018-2019-1 20165317 第六周学习总结 教材学习内容总结 输入/输出(I/O)是主存和外部设备(I/O设备)(如磁盘驱动器.终端.网络)之间拷贝数据的过程.输入是从I/O设备拷贝到主存.反之则反. 10.1Unix I/O Unix文件就是一个m字节的序列:b0,b1,b2-.bm-1.所有的I/O设备都被虚拟化为文件.所有的输入输出都是在当成相对应的文件的读写.将设备映射为文件,Unix内核引出一个应用接口,Unix I/O. 输入输出的执行方式: 打开文件:打开文件,内核会

20145317《信息安全系统设计基础》第六周学习总结(1)

20145317<信息安全系统设计基础>第六周学习总结(1) 第四章 处理器体系结构 指令体系结构:一个处理器支持的指令和指令的字节级编码 4.1Y86指令集体系结构 Y86:包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. Y86程序中的每条指令都会读取或修改处理器状态的某些部分.Y86具体包括:8个程序寄存器.3个条件码ZF\SF\OF.程序计数器(PC) Y86用虚拟地址引用存储器位置. 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状态. 注意:条件

20145222《信息安全系统设计基础》第六周学习总结(1)

20145222<信息安全系统设计基础>第六周学习总结(1) 第四章 处理器体系结构 指令体系结构:一个处理器支持的指令和指令的字节级编码 4.1Y86指令集体系结构 · Y86:包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. · Y86程序中的每条指令都会读取或修改处理器状态的某些部分.· Y86具体包括:8个程序寄存器.3个条件码ZF\SF\OF.程序计数器(PC) · Y86用虚拟地址引用存储器位置. 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状

《Linux内核分析》第六周学习笔记

<Linux内核分析>第六周学习笔记 进程的描述和创建 郭垚 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 [学习视频时间:1小时 撰写博客时间:2小时] [学习内容:进程创建的过程.使用gdb跟踪分析内核处理函数sys_clone] 一.进程的描述 1.1 进程描述符task_struct数据结构(一) 1. 进程控制块PCB——task_struct 为了管理进程,内核

20145307《信息安全系统设计基础》第六周学习总结

20145307<信息安全系统设计基础>第六周学习总结 教材学习内容总结 Y86指令集体系结构 内容:定义一个指令集体系结构,包括定义各种状态元素.指令集和它们的编码.一组编程规范和异常事件处理. 程序员可见状态 Y86程序中的每条指令都会读取或修改处理器状态的某些部分. Y86具体包括:8个程序寄存器.3个条件码ZF\SF\OF.程序计数器(PC). Y86用虚拟地址引用存储器位置. 程序状态的最后一个部分是状态码Stat,它表明程序执行的总体状态. Y86指令 IA32指令集的一个子集,只

20145301第六周学习总结

20145301第六周学习总结 教材学习内容总结 第十章 输入/输出 10.1 InputStream与OutputStream InputStream与OutputStream  流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而言的  InputStream与OutputStream InputStream.OutStream提供串流基本操作,如果想要为输入/输出的数据做加工处理,则可以使用打包器类.常用的打包器具备缓冲区作用的BufferedOutputStream.B

20145319 第六周学习总结

20145319 <Java程序设计>第六周学习总结 教材学习内容总结 本周学习教材的第十.十一章,主要讲述了串流,字符处理和线程以及并行API 1. 输入输出 串流:1Java中的数据有来源(source)和目的地(destination),衔接两者的就是串流对象2串流设计:在不知道限定数据来源和目的地时,也可以依赖抽象的InputStream和Outstream来编写一个dump()方法,方便以后使用3InputStream和OutputStream:在java中,输入串流代表对象为jav

LINUX内核分析第六周学习总结——进程的描述和进程的创建

LINUX内核分析第六周学习总结——进程的描述和进程的创建 张忻(原创作品转载请注明出处) <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.知识概要 进程的描述 进程描述符task_struct数据结构(一) 进程描述符task_struct数据结构(二) 进程的创建 进程的创建概览及fork一个进程的用户态代码 理解进程创建过程复杂代码的方法 浏览进程创建过程相关的关键代码 创建的新进程是从哪里开始执行的

20145311 《信息安全系统设计基础》第六周学习总结

20145311 <信息安全系统设计基础>第六周学习总结 教材学习内容总结 书上那几个表还是挺重要的 一个程序编译成在一种机器上运行,就不能在另一种机器上运行寄存器%esp被入栈.出栈.调用和返回指令作为栈指针程序计数器PC存放当前正在执行指令的地址三个一位的条件吗:ZF.SF.OF保存着最近的算数运算或逻辑运算所造成影响的有关信息Y86指令集:每个指令的第一个字节表明指令的类型,高4位是代码部分,低4位是功能部分指令集的一个重要性质就是字节编码必须有唯一的解释IA32(复杂指令集计算机CIS