zoukankan      html  css  js  c++  java
  • 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小时

    • 改进情况:

    参考资料

  • 相关阅读:
    poj 2485 Highways 最小生成树
    hdu 3415 Max Sum of MaxKsubsequence
    poj 3026 Borg Maze
    poj 2823 Sliding Window 单调队列
    poj 1258 AgriNet
    hdu 1045 Fire Net (二分图匹配)
    poj 1789 Truck History MST(最小生成树)
    fafu 1181 割点
    减肥瘦身健康秘方
    人生的问题
  • 原文地址:https://www.cnblogs.com/caoqian1314/p/11632320.html
Copyright © 2011-2022 走看看