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

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

教材学习内容总结

第五周主要是在国庆中度过的,也主要学的是第八章的内容,更充实、更饱满。

第八章:

  • 继承:从一个已有的类派生一个新类的过程,目的是为了更快更节约的完成程序。继承会产生父类和子类,他们之间建立了is-a关系。保留字extends说明从已有类中派生一个新类。
  • 在封装和私有的两难境地中,出现了protected修饰符,既可以提供最恰当的封装机制,也保持了其在原来类中可见性修饰符规定的权限。在满足可引用的程度上:public > protected > private。
  • super引用:在一个类中指向父类。
  • 多重继承:在Java中不支持多重继承,出现了接口,提供了多重继承的特性。
  • 类层次:一个类可以是一个或多个其他类的父类。
  • Object类:所有类都是由Object类派生的,Object的所有方法都可被java的每个类继承。
  • 可见性:私有成员也被子类继承,但不能通过名字直接引用。不过可以间接引用。

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

  • 问题1:is-a,has-a,like-a是什么?
  • 问题1解决方案:is-a 是一种继承关系。假如 A is-a B
    ,那么B就是A的父类。
    has-a 代表从属关系。假如 A has-a ,那么B就是A的组成部分。
    like-a是一种组合关系。假如 A like-a B 那么B就是A的接口。
    参考Java is-a,has-a,like-a是什么 (abstract[is a],interface[like a]区别)
  • 问题2:不明白书上<派生于抽象父类的类必须重写父类中所有的抽象方法,否则派生的类仍为抽象类。
  • 问题2解决方案:看到一篇博客java 中普通类继承,抽象类继承,接口类继承,子类一定要重写父类中的方法吗
      1. 普通类继承,并非一定要重写父类方法。
      1. 抽象类继承,如果子类也是一个抽象类,并不要求一定重写父类方法。如果子类不是抽象类,则要求子类一定要实现父类中的抽象方法。
      1. 接口类继承。如果是一个子接口,可以扩展父接口的方法;如果是一个子抽象类,可以部分或全部实现父接口的方法;如果子类不是抽象类,则要求子类一定要实现父接口中定义的所有方法。

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

  • 问题1:有些数学公式用java不会表示,例如开根号。
  • 问题1解决办法:上网查找相关资料,得到的解答是


double n = Math.sqrt(m);



用sqrt来开根。

  • 问题2:在我敲作业时,发现了如下问题,总是显红:
  • 问题2解决方案:看书上教材发现,私有成员不能够直接引用,这才恍然大悟我用的是private。

以下问题不经出现在实验,也出现在自己调试代码的过程中,所以同样粘在这里

  • 问题3:在实验一中,无论怎样都无法连接对方,很头疼。
  • 问题3解决方案:利用cmd命令查找本机ip地址

再用ipconfig命令查找ip

  • 问题4:按照问题一的方法找了ip地址,但输上去还是不管用,
  • 问题4解决方案:仔细观察cmd命令发现自己找的是以太网的ip地址,但电脑没有连网线,而是连的WiFi,找到无线局域网的ip地址之后再连接就OK啦

  • 问题5:无法打出printl。
  • 问题5解决方案:一开始我以为是没有class文件,因为以前就遇到过这种问题,但我仔细看有class,于是和迷茫,询问结对伙伴才知道自己多打了个括号:
  • 问题6:在写第二个实验的时候总是出现以下问题:

很棘手,也不知如何解决。

  • 问题6解决方案:找助教学姐问了问,得到的回答是需要在命令行调试的地方输入值,这里引用个博客:IDEA如何输入命令行参数,完美的解决了我的问题
  • 问题7:不明白以下代码的含义:


outputStreamWriter.write(info1);
outputStreamWriter.flush();
outputStreamWriter.write(info2);
outputStreamWriter.flush();
outputStreamWriter.write(s);
outputStreamWriter.flush();
scoket.shutdownOutput();




info1 = bufferedReader.readLine();



其中的bufferedReader我不明白

其他(感悟、思考等)

这个实验颠覆了我对自学的看法,说起自学很简单,但操作起来,是真的要命,无论是遇到自己见都没见过的知识点,还是自己要动手敲一个很棘手的代码,都困难重重,这个实验我和结对伙伴打了将近3天,才基本处理完毕,还有很多不足没有改进,代码中的漏洞也还很多,在实验完成后还要继续修正,修复bug。自己要学的东西还有很多,自己面临的知识盲区也无穷无尽,每多打一部分代码,就会发现自己原来知道的是那么少,九牛一毛都觉得多。随着学习的深入,懂得越多,但又发现自己懂的是那么的少,产生矛盾。

代码托管

上周考试错题总结

上周无考试

点评过的同学博客和代码

  • 本周结对学习情况

    • 20182321
    • 结对照片
    • 结对学习内容
      • 共同完成实验四
      • 共同解决书上出现的问题。
      • 遇到计算器远程传输数据的问题,我们共同解决,分工明确。
  • 上周博客互评情况

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

一周又飞快的过去了,这周在我看来,进步很大,在上周的学习过程中,不明白类和方法之间的关系,但在这一周的不懈努力下,知道了如何学习这方面的知识,虽然学习的过程中很不轻松,但在获得成就后会很开心。一个月过去了,自己也学到了很多东西,能明白自己的定位,也能清楚自己的水平,知道自己薄弱点在哪里,如何补充、加强,在下一周的学习生活中,我会加强代码的练习,增加代码量,争取敲到2500行。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 212/212 2/2 17/17
第二周 132/344 2/4 17/34
第三周 689/1033 1/5 23/67
第四周 664/1697 2/7 20/87
第五周 586/2283 2/9 20/107
  • 计划学习时间:20小时
  • 实际学习时间:20小时
  • 改进情况:心理承受能力越来越好,碰到难题不会怕,而是会慢慢啃他。

参考资料

原文地址:https://www.cnblogs.com/cistineup/p/11632617.html

时间: 2024-08-25 09:14:19

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

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

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

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

201405644 嵌入式程序设计第五周学习总结

嵌入式课程设计第五周学习总结 标准 I/O 编程 标准 I/O 提供流缓冲的目的是尽可能减少使用 read()和 write()等系统调用的数量.标准 I/O 提供了 3 种类型 的缓冲存储.全缓冲.行缓冲.不带缓冲. 打开文件 打开文件有三个标准函数,分别为:fopen().fdopen()和 freopen().其中 fopen()可以指定打开文件的路径和模式,fdopen()可以指定打开的文件描述符和模式,而 freopen() 除可指定打开的文件.模式外,还可指定特定的 I/O 流. f

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. 实验过程及结果

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

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

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

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

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

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