20182310第六周学习总结

tursws tursws     2023-05-07     170

关键词:

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

教材学习内容总结

1.利用继承实现多态性:

  • 当用类名声明了一个引用变量时,这个变量可以指向该类的任何一个对象,也可以引用通过继承与它所声明的类型有关的任何类的对象。
  • 并且这种关系对整个类层次结构都有效。例如:Animal creature = new Horse(Animal是Mammel的父类,Horse是Mammel的子类)

2.利用接口实现多态性:
类名可以用于声明对象引用变量,接口名也可以用于做声明对象引用变量的类型。
一个接口引用变量可以指向任何实现该接口类的对象。

3.接口名可以用作方法参数,使得任何一种实现同一接口的类对象都可以作为参数传给方法。 方法的参数可以使多态性的,使得方法所接收的参数具有灵活性。

4.solid原则:
面向对象的原则是面向对象设计的核心, 面向对象五大原则有SRP、OCP、LSP、DIP、ISP

SRP(Single Responsibility Princple单一职责原则)一个设计元素只做一件事。之前一直在讨论这件事,(上帝类与小类)小类容易复用.
高内聚低耦合:与自己无关的拿出去,使用时调用,灵活

OCP(Open Close Princple)
“Closed for Modification; Open for Extension”:对扩充开放 对修改封闭
OCP背后的机制:抽象和多态
软件实体(类。模块。函数)应该对

LSP:(Liskov Substitution Principle 里氏替换原则)Liskov是这个原则的提出者。理解起来就像大于5的数一定大于2,子能存在的地方父一定可以。

DIP(Dependence Inversion Principle 依赖倒置原则)要依赖于抽象,不要依赖于具体。
子类可以被基类替代 不能滥用继承

ISP:(Interface Segregation Principle 接口分隔原则)一个接口相当于剧本中的一种角色,而此角色在一个舞台上由哪一个演员来演则相当于接口的实现。因此一个接口应当简单的代表一个角色,接口隔离原则讲的就是同一个角色提供宽、窄不同的接口,以对付不同的客户端。

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

  • 问题1:接口可以实现接口吗?接口可以继承接口吗?
  • 问题1解决方案:接口可以继承接口,并且可以继承不只一个接口,但是不能实现接口。因为接口的成员方法都具有抽象属性,不具有方法体,无法实现继承的接口。
  • 问题2:字节流和字符流到底是什么?定义在java.io包中的那么多方法都怎么系统的理解?
  • 问题2解决方案:在java.io包中操作文件内容的主要有两大类:字节流、字符流,两类都分为输入和输出操作。在字节流中输出数据主要是使用OutputStream完成,输入使的是InputStream,在字符流中输出主要是使用Writer类完成,输入流主要使用Reader类完成。(这四个都是抽象类)。InputStream 和OutputStream,两个是为字节流设计的,主要用来处理字节或二进制对象,Reader和 Writer.两个是为字符流(一个字符占两个字节)设计的,主要用来处理字符或字符串。字节流可用于任何类型的对象,包括二进制对象,而字符流只能处理字符或者字符串; 2. 字节流提供了处理任何类型的IO操作的功能,但它不能直接处理Unicode字符,而字符流就可以。

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

  • 问题1:在一开始的package时找不到文件,运行失败。

技术图片

  • 问题1解决方案:修改package路径,或者是将文件及子文件移动到当前目录。
  • 问题2:在编写文件类时,路径输入失败,导致文件无法运行。

技术图片

  • 问题2解决方案:不要精确到具体文件夹,直接指向大文件夹。

代码托管2

上周考试错题总结

  • 错题1:
    技术图片

  • 错题1解决方案:语句if(list [j] <temp)c ++; 将列表中的每个元素与temp进行比较,并且仅在元素小于temp时才将其添加到c,因此它将对列表中小于temp的元素进行计数,并将结果存储在c中。
  • 错题2:
    技术图片

  • 错题2解决方案:在“选择排序”的每个连续遍历中,找到最小的未排序值并与当前数组索引交换(当前索引从0开始,一直到数组的第二个位置)。 在第一遍中,最小的元素2与索引0交换,因此2和9交换位置。
  • 错题3:
    技术图片

  • 错题3解决方案:封装是对代码部分的隔离,这样它们就不会被意外修改; 继承提供代码重用; 多态性提供了一个名字,许多语义。 抽象是有用的属性,但不是机制。 递归是一种控制结构,提供了一种不同的方式来表达循环或重复。
  • 错题4:
    技术图片

  • 错题4解决方案:上载是完全安全的,它是Java支持的单一继承结构的产物。 相比之下,向下转换必须由程序员明确完成。 Java只会自动向上投射一个方向。 向上和向下转换的规则不取决于所使用的可见性修饰符。
  • 错题5:
    技术图片

  • 错题5解决方案:用于声明引用的类型不必是类的名称,它可以是接口名称。 在这种情况下,引用将引用实现该接口的类的具体实例。
  • 错题6:
    技术图片

  • 错题6解决方案:这是使用接口名称声明引用变量的多态函数之一。
  • 错题7:
    技术图片

  • 错题7解决方案:二进制搜索仅在数据已排序时才有效。 二进制搜索算法通过假设在每对数据元素之间存在严格的关系来进行升序或降序。 没有此顺序,二进制搜索将无法正确运行。
  • 错题8:
    技术图片

  • 错题8解决方案:B,C和D中的答案都是正确的,RuntimeExceptions是Throwable对象,而不是Error类的一部分,两种RuntimeExceptions类型是ArithmeticException和NullPointerException。 不是RuntimeExceptions的异常包括各种已检查的异常,但是RuntimeExceptions不是已检查的异常。

结对及互评

评分标准

  • 博客中值得学习的或问题:
    • 学习:在总结问题时有附上详细的图片,而我总是忘记截图
    • 问题:教材学习内容总结不够详细。
  • 代码中值得学习的或问题:无
  • 基于评分标准,我给本博客打分:12分。得分情况如下:
  1. 正确使用Markdown语法(加1分):
  2. 模板中的要素齐全(加1分)
  3. 教材学习中的问题和解决过程, 一个问题加1分

  4. 代码调试中的问题和解决过程, 一个问题加1分
  5. 本周有效代码超过300分行的(加2分)
  6. 其他加分:
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分

点评过的同学博客和代码

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

还有种沉浸在国庆的感觉... Java三要素是重点,当上课测验的时候发现自己不知不觉也学习了很多内容,还是要回顾才能记得更清楚。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第一周 155/200 2/2 20/20 初步掌握linux命令、java小程序和jdb调试
第二 三周 470/625 2/4 20/40 学会scanner定义的使用,类的定义
第四周 1444/2069 2/4 20/60 下载安装IDEA及其插件,学会TDD调试,编写测试代码
第五周 1917/3986 2/8 20/80 简单的学会客户端和服务器的编写
第六周 1324/5310 1/9 20/100 Java封装,继承,多态

java第六周学习总结

本周总结一.本周所做:1.本周学习了Java的多态:2.还学习啦Java的抽象类还有关于继承的一些知识.3.学习了Java的封装知识:二.下周准备所做:1.下周持续Java的学习进程,准备学习Java的接口,枚举还有包相关的知识.三.本周遇到的问题及如... 查看详情

20172305《程序设计与数据结构》第六周学习总结

201723052017-2018-2《程序设计与数据结构》第六周学习总结教材学习内容总结本周内容主要为书的8.1-8.6的内容:第八章1.一维数组和多维数组(二维数组为主)的声明和使用2.命令行实参3.边界检查(例8.8的解决办法)教材学习中的问题和... 查看详情

#2018-2019-120165317第六周学习总结(代码片段)

2018-2019-120165317第六周学习总结教材学习内容总结输入/输出(I/O)是主存和外部设备(I/O设备)(如磁盘驱动器、终端、网络)之间拷贝数据的过程。输入是从I/O设备拷贝到主存。反之则反。10.1UnixI/OUnix文件就是一个m字节的序列... 查看详情

201723142017-2018-2《程序设计与数据结构》第六周学习总结

201723142017-2018-2《程序设计与数据结构》第六周学习总结教材学习内容总结数组是一个含有多个值的列表,每个值存在于数组中特定的,具有编号的位置。数组的声明:(1)int[]xxx=newint[3];表示实例化数组xxx后,为其预留了存放三... 查看详情

2018-2019-120165214《信息安全系统设计基础》第六周学习总结

201652142018-2019-1《信息安全系统设计基础》第六周学习总结教材学习内容总结1、输入操作是从I/O设备复制数据到主存,而输出操作是从主存复制数据到I/O设备2、UnixI/O使得所有的输入和输出都能以一种统一且一致的方式来进行3、... 查看详情

2018-201920165215《信息安全系统设计基础》第六周学习总结(代码片段)

2018-201920165215《信息安全系统设计基础》第六周学习总结Linux系统调用学习操作系统(OperatingSystem,简称OS)完成的工作比喻为两个角色:服务生和管家婆管家婆:通过「文件」对I/O设备进行了抽象通过「虚存」对主存和I/O设备进行... 查看详情

201723282018-2019《java软件结构与数据结构》第六周学习总结(代码片段)

201723282018-2019《Java软件结构与数据结构》第六周学习总结概述Generalization本周学习了第十章:非线性集合与数据结构--树。主要讨论了树的使用和实现,以及考察实现和使用树的实例。教材学习内容总结Asummaryoftextbook树(tree):... 查看详情

2018-2019-120165203《信息安全系统设计基础》第六周学习总结(代码片段)

2018-2019-120165203《信息安全系统设计基础》第六周学习总结教材学习内容总结重要知识点I/O:在主存和外部设备(例如磁盘存储器、终端和网络)之间复制数据的过程。输入操作:从I/O设备复制数据到主存。输出操作:从主存复... 查看详情

第六周总结报告

   这一周,家乡阴雨绵绵。才到周二我便患上了感冒,好在不太严重,相信过几天就好了。    这周学习的内容有:1,复习了C++的最后内容并复习《离散数学》第一章,对以前学习的公式,书上的例题... 查看详情

2018-2019-120165208《信息安全系统设计基础》第六周学习总结(代码片段)

2018-2019-120165208《信息安全系统设计基础》第六周学习总结教材学习操作系统「管家婆」的功能:通过「文件」对I/O设备进行了抽象通过「虚存」对主存和I/O设备进行了抽象通过「进程」对CPU、主存和I/O设备进行了抽象操作系统... 查看详情

20172304《程序设计与数据结构》第六周学习总结(代码片段)

20172304《程序设计与数据结构》第六周学习总结教材学习内容总结本周主要学习的是树的内容,树由结点和边组成,位于树中较低层的结点是上一层结点的孩子。一个结点只有一个双亲,统一双亲的两个节点称为兄弟。没有任何... 查看详情

201723272017-2018-2《程序设计与数据结构》第六周学习总结

学号2017-2018-2《程序设计与数据结构》第X周学习总结教材学习内容总结-数组元素:1.具有N个值的数组索引为0~(N-1).-声明和使用数组:1.可以用new运算符实例化数组,为数组分配保存值的内存空间。在Java中,数组是必须实例化的... 查看详情

20172301《程序设计与数据结构》第六周学习总结(代码片段)

20172301《程序设计与数据结构》第六周学习总结教材学习内容总结树的概述树由一个包含结点和边的集构成。树(一种非线性结构,其中的元素被组织成一个层次结构)结点:树中的一个位置。边:树中两个结点的连接。根结点:... 查看详情

201723302018-2019-1《程序设计与数据结构》第六周学习总结

201723302018-2019-1《程序设计与数据结构》第六周学习总结教材学习内容总结树1、树是非线性结构,其元素组织为一个层次结构2、树的度表示树中的任意结点的最大子结点数3、有m个元素的平衡n叉树的高度是lognm4、树的遍历有4种... 查看详情

201723232018-2019-1《程序设计与数据结构》第六周学习总结(代码片段)

201723232018-2019-1《程序设计与数据结构》第六周学习总结教材学习内容总结本周学习了第10章树10.1概述树是一种非线性结构,有一个包含结点和边的集构成。元素保存在结点中,边则将结点连接起来。一些术语根结点是位于树顶... 查看详情

第六周总结8.18

本周我做了什么1.英语线上课两节2.英语口语每日练习两小时3.每日学习Java一小时4.复习C语言五次5.听茶话会一次6.每日健身一小时,散步7.社团纳新宣传安排花在学习上多长时间21小时花在代码上多长时间9小时花在解决问题上多... 查看详情

201771010112罗松《面向对象程序设计(java)》第六周学习总结

                                 &n 查看详情

第六周作业(代码片段)

201652272018-4《Java程序设计》第六周学习总结教材学习内容总结第八章String类是Java学习中需要掌握的一种基础类StringTokenizer类:构造一个分析器Scanner类:用于解析出字符序列中所需要的数据StringBuffer类:与String类不同的是其对象... 查看详情