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

目录

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

    • 教材学习内容总结
    • 教材学习中的问题和解决过程
    • 代码调试中的问题和解决过程
    • 代码托管
    • 上周考试错题总结
    • 结对及互评
      • 点评模板:
      • 点评过的同学博客和代码
    • 学习进度条
    • 参考资料

目录

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

教材学习内容总结

  • 1.对象和类的关系;(类是对象的蓝图)
  • 2.理解对象的状态(属性)和行为(操作);
  • 3.理解类的分配职责和一些类的构造方法;
  • 4.了解UML类图(统一建模语言);
  • 5.公有和私有可见性修饰符(public、private);
  • 6.理解方法定义和方法声明;
  • 7.return语句的使用;
  • 8.静态方法的调用;
  • 9.类之间的关系(依赖、聚合、继承);(还未掌握)
  • 10.方法设计(方法分解、方法参数的传递);(还未掌握)
  • 11.方法重载(参数类型、个数不同);
  • 12.测试和调试(jdb、print语句)。

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

  • 问题1:对成员变量,局部变量,静态变量之间的区别理解不够。
  • 问题1解决方案:查阅网上资料得知:它们之间的区别可参考下表

  • 问题2:对于课本中的return语句的用法有些模糊。
  • 问题2解决方案:结合上周阅读的资料和课本内容,return语句的用法总结如下:

    1.由保留字return再加一个表达式组成,表达式代表要返回的值;

    2.return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行;

    3.return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致;

    4.return 后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。

  • 问题3:看了课本上的算法中的伪代码,想要加深理解伪代码。
  • 问题3解决方法:查找相关资料,总结如下:

    1.伪代码由中文和英文混合组成,能够更好地表达算法

    2.在伪代码中,每一条指令占一行(else if,例外)。指令后不跟任何符号(Pascal和C中语句要以分号结尾)。书写上的“缩进”表示程序中的分支程序结构;

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

  • 问题1:在Ubuntu终端对代码进行码云git时,显示更新被拒绝,因为远程仓库包含您本地尚不存在的提交。
  • 问题1解决方案:通过查阅资料得知,原来是我之前通过网页向仓库提交过文件。解决方法是输入命令git pull origin master --allow-unrelated-histories
    这样对本地仓库和远程仓库进行合并冲突后,就可以正常愉快的使用 git push命令啦~

代码托管

上周考试错题总结

  • 问题1: If a programmer writes a class wanting it to be extended by another programmer, then this programmer must(如果一个程序员写了一个类,这个类想要被其他程序员拓展,那么这个程序员应该?)

    A . change private methods and instance data to be protected(将私有方法和示例数据改为protected型)

    B . change public methods and instance data to be protected(把公有方法示例数据改为protected型)

    C . change all methods to be protected(改变所有的方法为protected型)

    D . change the class to be protected(将类改变为protected型)

    E . none of the above, the programmer does not have to change anything(上述没有正确答案,这个程序员不需要改变任何)

  • 问题1解析和理解:正确答案A。我当时选择E。声明为protected的部分可以由定义它们的类的任何子类访问,而声明为private的部分不能被任何其他类访问。因此,以前定义的private项必须受到保护。以前定义的public项应该保持,以便所有其他类仍然可以访问这些public项。以前定义的private不应该公开,因为这将允许所有类访问它们,而不仅仅是子类。
  • 问题2:Which of the following is true regarding Java classes?(关于java类,下面哪一个是正确的?)

    A . All classes must have 1 parent but may have any number of children (derived or extended)
    classes(所有的类都必须有一个父类但是可以有无限的子类)

    B . All classes must have 1 child (derived or extended) class but may have any number of parent classes(所有的类都必须有一个子类,但可以有无限的父类)

    C . All classes must have 1 parent class and may have a single child (derived or extended) class(所有的类都必须有一个父类和一个子类)

    D . All classes can have any number (0 or more) of parent classes and any number of children (derived or extended) classes(所有的类可以有任何数量的父类和子类)

    E . All classes can have either 0 or 1 parent class and any number of children (derived or extended) classes(所有类都有1个或者0个父类和无限多的子类)

  • 问题2解析和理解:正确答案选A,我当时选择E。老师在课堂上强调的时候才对这个问题有了更深刻的了解。object类是所有类的祖先,也就是说,所有的类都是object类派生出来的。因此答案选A。
  • 问题3:A variable declared to be of one class can later reference an extended class of that class. This variable is known as(一个被声明为一个可变类的变量可以引用该类的扩展类。这个变量被称为)

    A . protected

    B . derivable

    C . cloneable

    D . polymorphic

    E . none of the above, a variable declared to be of one class can never reference any other type of class, even an extended class

  • 问题3解析和理解:正确答案选D,我当时选择的是A。,当时还没学到多态,看到继承一章的关键词protected就果断下手了。其实多态表示变量可以有多种形式存在。在一般情况下,Java被强制定义为,一个变量,一旦声明为某种类型,就永远不能改变其为不同的类型。唯一的例外是多态变量可以是任何类型的派生类(尽管不是在同一时间,变量也可以从一种类型转换为另一种类型)。
  • 问题4: Using the reserved word, super, one can(用保留字super,能够)

    A . access a parent class‘constructor(s)(访问父类构造函数)

    B . access a parent class‘methods and instance data(访问父类方法和实例数据)

    C . access a child class‘constructor(s)(访问子类构造函数)

    D . access a child class‘methods and instance data(访问子类方法和实例数据)

    E . none of the above(没有正确选项)

  • 问题4解析和理解:正确答案选择E。我当时选择A。本题关键点在于A 和B答案都是对的,所以应该将两个答案结合起来才行,当时只看了一个答案草草完事,非常的不细心,以后要注意。
  • 问题5: Why shouldn‘t an abstract method be declared final?(为什么不应该把一个抽象的方法声明为final呢?)

    A . There‘s nothing wrong with doing so(这样做没错)

    B . Abstract methods cannot be overridden and they must be if a concrete class ever is to be instantiated(抽象方法不能被覆盖,它们必须是要实例化的具体类)

    C . So long as the Abstract method never actually is used in by any other method, there‘s no problem with doing this(只要抽象方法从来没有被任何其他方法使用过,那么做这个就没有问题了)

    D . So long as the Abstract method is declared in a Class (not an Interface), there‘s nothing wrong with doing this(只要抽象方法在类中声明(而不是接口),那么做这件事就没有什么错)

    E . None of the above(没有正确选项)

  • 问题5解析和理解:正确答案B,我当时的选项E,我也不知道我为什么要选E。要使抽象方法成为具体的方法,它必须被覆盖。声明一个方法是final的,就让其不可能被覆盖。因此不能。
  • 问题6: Interface classes cannot be extended but classes that implement interfaces can be extended.(接口类不能被扩展,但是实现接口的类可以被扩展)

    A . true

    B . false

  • 问题6解析和理解: 正确答案选B,当时我选的是A,属于对概念不清楚。任何类都可以被扩展,无论它是一个接口,还是实现一个接口,或者两者都没有。唯一的例外是,如果该类被显式地用“final”这个词进行修饰,在这种情况下,它不能被扩展

结对及互评

点评模板:

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

    • 加入自己学习过程中的图片,给人印象深刻。
    • 对问题剖析到位,有深入学习。
  • 代码中值得学习的或问题:
    • 代码排版越来越规范,便于阅读
    • 代码中适当加入注释会更好
  • 基于评分标准,我给本博客打分:13分。得分情况如下:
  1. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程(2分)
  4. 代码调试中的问题和解决过程(2分)
  5. 本周有效代码超过300分行的(加0分)
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分

点评过的同学博客和代码

  • 本周结对学习情况

通过自学深入了解Java的知识,结合教材内容,真正明白了以前没明白、死记硬背的东西。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 10000行 30篇 400小时
第一周 77/77 2/2 15/15
第三周 424/501 3/5 30/30
第四周 393/894 2/7 30/30
  • 计划学习时间:25小时
  • 实际学习时间:20小时
  • 改进情况:国庆抓紧弥补缺漏

参考资料

成员变量、类变量、局部变量的区别

Java 对象和类

原文地址:https://www.cnblogs.com/caoqian1314/p/11614452.html

时间: 2024-07-30 07:06:55

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

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

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

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

20182306 2019-2020-1 <数据结构与面向对象程序设计>第五学习总结 教材学习内容总结 尽量简单的总结一下本周学习内容 尽量不要抄书,浪费时间 看懂就过,看不懂,学习有心得的记一下 教材学习中的问题和解决过程 问题1:XXXXXX 问题1解决方案:XXXXXX 问题2:XXXXXX 问题2解决方案:XXXXXX ... 代码调试中的问题和解决过程 问题1:XXXXXX 问题1解决方案:XXXXXX 问题2:XXXXXX 问题2解决方案:XXXXXX ... 代码托管 (stat

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

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

学号20182323 2019-2020-1 <数据结构与面向对象程序设计>实验五报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 曹骞 学号: 20182323 实验教师:王志强 实验日期:2019年10月14日 必修/选修: 必修 1.实验内容 1.Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for Android 2nd)>第二十四章: 参考http://www.cnblog

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

学号20182323 2019-2020-1 <数据结构与面向对象程序设计>实验六报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 曹骞 学号: 20182323 实验教师:王志强 实验日期:2019年10月21日 必修/选修: 必修 1.实验内容 1.链表练习,要求实现下列功能:通过键盘输入一些整数,建立一个链表:这些数是你学号中依次取出的两位数. 再加上今天的时间.例如你的学号是 20172301 今天时间是 2018/10/1, 16:23:49秒.数字就是 20

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

学号20182323 2019-2020-1 <数据结构与面向对象程序设计>实验七报告# 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>实验七报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 曹骞 学号: 20182323 实验教师:王志强 实验日期:2019年10月21日 必修/选修: 必修 1.实验内容 1.定义一个Searching和Sorting类,并在类中实现linearSearch,SelectionSort方法,最

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

# 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>实验九报告 课程:<程序设计与数据结构> 班级: 1823 姓名: 曹骞 学号: 20182323 实验教师:王志强 实验日期:2019年12月8日 必修/选修: 必修 1.实验内容 初始化:根据屏幕提示(例如:输入1为无向图,输入2为有向图)初始化无向图和有向图(可用邻接矩阵,也可用邻接表),图需要自己定义(顶点个数.边个数,建议先在草稿纸上画出图,然后再输入顶点和边数)(2分) 图的遍历:完成有向图

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

目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第2.3周学习总结 教材学习内容总结 教材学习中的问题和解决过程 代码调试中的问题和解决过程 代码托管 上周考试错题总结 结对及互评 点评模板: 点评过的同学博客和代码 其他(感悟.思考等,可选) 学习进度条 参考资料 目录 学号20182323 2019-2020-1 <数据结构与面向对象程序设计>第2.3周学习总结 教材学习内容总结 第二章 print和println两种方法的区别 关键概念:pr