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


    目录

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

    教材学习内容总结

    关键摘要:

    • 1.继承是从已有类派生一个新类的过程。
    • 2.继承在父类和子类之间建立了is-a关系
    • 3.可以使用super引用来调用父类的构造方法。
    • 4.子类可以重写(重定义)继承自父类的方法。
    • 5.一个类的子类可以是一个或多个其他类的父亲,这样形成了类层次。
    • 6.Java 的所有类直接或间接派生于Object类。
    • 7.Java 程序中的每个类都继承了toString和equals方法。
    • 8.final修饰符可用来限制继承。

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

    • 问题1:is-a关系是什么关系啊?

    • 问题1解决方案:上网查找
      is-a( 是 "a" 小明是人类)表示的是属于得关系。比如兔子属于一种动物(继承关系)。

    has-a( 有 "a" 汽车有轮胎) 表示组合,包含关系。比如兔子包含有腿,头等组件;就不能说兔子腿是属于一种兔子(不能说是继承关系)

    7.1.2 "is a"关系和"has a"关系

    假设有两个类:Computer和Employee。明显地,这两个类之间不存在"is a"的关系,即Employee不是计算机,它们之间没有继承关系的必要。因此不可能产生代码重用性。但这两个类之间是"has a"关系,即是支持的关系。例如,Employee"has a"Computer。明显地是一种支持关系。这种支持关系落实到代码中,就是在Employee中创建Computer的对象,调用其方法,到达完成某种运算和操作的目的。

    Employee和Manager 类存在的则是"is a"关系,即Manager是Employee。它们之间存在共性,或者共同的属性。Manager是Employee的具体化;Employee是Manager的概括和抽象。概括性和抽象性的类,如Employee,在继承中则定义为超类。具体或代表对象特性的类,如Manager,则定义为子类。如果这是一个用来计算雇员工资的程序,那么在超类Employee中,我们应当包括所有子类都应该具有的、与计算工资有关的数据,例如name、employeeID、jobTitle、seniority、baseSalary以及用来计算基本工资部分的方法,如baseSalary()等。在Manager这个子类中,我们不仅继承Employee的所有数据和方法,还增加针对Manager的新的数据,如是否董事会成员boardMember、职务补贴merit等,因为除基本工资的计算之外,这些都影响到具有经理职务雇员的收入。

    对两个类之间"is a"或是"has a"关系的分析,有助于我们确定它们之间是否存在继承关系,避免设计上的错误,因而达到提高代码重用性的目的

    • 问题2:public void与public int区别

    • 问题2解决方案:

    public.是访问修饰,访问修饰有public ,protected,默认修饰符(也就是什么也不写),private四种,四种按照从前到后访问级别依次降低。

    void.的不返回任何参数,它是方法返回类型中的一种,除了void 外,方法返回类型还可以是基本数据类型和引用数据类型,基本数据类型有byte,short,int,long,char ,float,double,boolean八种,引用数据类型有很多的,它是根本你想引用什么数据类型,想常见的有String 类型,还有你自己定义的类的类型。

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

    没出现新的问题,出现的是以前的问题。

    代码托管

    上周考试错题总结

    上周没有错题

    结对及互评

    点评模板:

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

      • 加入自己学习过程中的图片,给人印象深刻。
      • 对问题剖析到位,有深入学习。
    • 代码中值得学习的或问题:

      • 代码排版越来越规范,便于阅读
      • 代码中适当加入注释会更好
    • 基于评分标准,我给本博客打分:13分。得分情况如下:

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

      • 不使用Markdown不加分
      • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
      • 排版混乱的不加分
    2. 模板中的要素齐全(加1分)

      • 缺少“教材学习中的问题和解决过程”的不加分
      • 缺少“代码调试中的问题和解决过程”的不加分
      • 代码托管不能打开的不加分
      • 缺少“结对及互评”的不能打开的不加分
      • 缺少“上周考试错题总结”的不能加分
      • 缺少“进度条”的不能加分
      • 缺少“参考资料”的不能加分
    3. 教材学习中的问题和解决过程(2分)

    4. 代码调试中的问题和解决过程(2分)

    5. 本周有效代码超过300分行的(加0分)

    6. 其他加分:

      • 周五前发博客的加1分
      • 感想,体会不假大空的加1分
      • 进度条中记录学习时间与改进情况的加1分
      • 有动手写新代码的加1分
      • 错题学习深入的加1分
      • 点评认真,能指出博客和代码中的问题的加1分
      • 结对学习情况真实可信的加1分

    点评过的同学博客和代码

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

    以前的学习,都是老师一味的灌输,老师教什么,我们就会什么,没有自己探索的过程,等到自己去实践的时候,就会遇见各种各样的问题;现在娄老师的教学就是让我们自己去学习,自己去发现问题,然后问自己所发现的问题,因为每个人的思维方式不同,所以碰到的困难也是多种多样的,解决属于自己的问题,这样成长才是最快的。

    老师单方面的传输的知识,对于我们来说,是最习惯的一种学习方式,也是我们认为最简单的学习方式,但是,我认为自己发现问题然后再解决,这样的学习是高效的,虽然会很累,但是,这样才能学到更多的东西。

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 10000行 30篇 400小时
    第一周 77/77 2/2 15/15
    第三周 424/501 3/5 30/30
    第四周 393/894 2/7 30/30
    第五周 320/1214 1/8 30/30
    • 计划学习时间:25小时

    • 实际学习时间:20小时

    • 改进情况:

    参考资料

  • 相关阅读:
    记录犯得最可笑的错误
    爬虫阶段内容总结
    docker_nginx_Elasticsearch
    git基础
    爬虫pearPro
    爬虫wangyiPro
    sunPro
    docker-compose终极搞定个人博客
    小程序下拉三个小点不显示问题
    vue鼠标拖动
  • 原文地址:https://www.cnblogs.com/caoqian1314/p/11632320.html
Copyright © 2020-2023  润新知