• 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小时

    • 改进情况:心理承受能力越来越好,碰到难题不会怕,而是会慢慢啃他。

    参考资料

  • 相关阅读:
    2018-8-10-win10-uwp-读取保存WriteableBitmap-、BitmapImage
    2018-8-10-win10-uwp-读取保存WriteableBitmap-、BitmapImage
    字节流与字符流的区别详解
    Java线程之 InterruptedException 异常
    java 线程的几种状态
    C++中 引用&与取地址&的区别
    百度富文本编辑器ueditor在jsp中的使用(ssm框架中的应用)
    CodeForces
    CodeForces
    训练记录
  • 原文地址:https://www.cnblogs.com/cistineup/p/11632617.html
Copyright © 2020-2023  润新知