微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

教材学习内容总结

初步了解了实例化数据和编写类的一些方法。再一次了解了封装的概念(并结合了第八章的继承的有关内容),通过书上关于UML的内容,编写了第一个UML视图。

了解了在同一个类中的return和this等命令的用法

参照书本和教程,学习了一些关于TDD调试的思想和方法

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

问题一:可见性修饰符是什么?它存在的意义是什么?

问题一解决过程:翻阅课本P108的有关内容,并且往后预习学习第八章中有关继承的内容。可见性修饰符的一个典型例子就是protected,这样的修饰符可以使得子类在有限的权限的情况下(也就是不破坏父类封装的情况下)访问父类的构造函数。使得一些类或者方法更方便使用、继承。

问题二:Java中的形参、实参是如何操作的,和C语言中的参数使用方法有什么不一样的地方吗?

问题二解决过程:翻阅课本P132,大体上和原先我们对于C语言中的形参、实参概念理解是一致的。形参本质上是对实参的数据引用,要使得形参的数据传回实参所在的数据的类,就必须要用return,或者方法继承的函数

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

问题一:在IDEA中,部分代码编辑完毕之后,右键点击,没有Run这个选项。

问题一解决过程:比较了可以run的代码和不能run的代码,并且偶然通过psvm,直接打出了

public class void main(String[] args)

那么在代码文件的右上角就会有一个绿色的小三角形,并且可以run。意识到了问题在于有没有main方法。同时参考了网络资源,意识到了一个类要想正常编译运行,应该要有一个main(主类)。

问题二:在Junit相关的测试当中,即便引入了Junit.jar的包、按教程指导下载安装了插件,Test等指令也还是红的。

问题二解决过程:发现自己找到了一个错误的junit.jar的包,要考虑功能能够正常使用就也必须要考虑junit的版本问题。在导入了正确的包之后,test可能也没有办法马上从红色变为棕色、正常运行功能。这时候就可以重启一下IDEA,问题也许会自己解决。每一次新建一个文件夹,都要执行一次这样的操作。(导入junit.jar)

[代码托管](https://gitee.com/besti1823/20182308IZUMO)

上周考试错题总结

问题一:The behavior of an object is defined by the object's__?

A.instance data B.constructor C.visibility modifiers D.methods E.all of the above 错选:E    正解:D 问题一解决过程:看不懂专有名词的英文,解析就算了吧。翻译大意就是:object的行为由什么来定义?答案是method,也就是这个object中具体的方式。现在看来至少可以排除A,毕竟和形参肯定是没有关系的。   问题二:If a method does not have a return statement, then__?   A.it will produce a Syntax error when compiled B.it must be a void method C.it can not be called from outside the class that defined the method D.it must be defined to be a public method E.it must be an int, double, float or String method 错解:D  正解:B 问题二解决过程:这个我看得懂!问题是问为什么一个方法没有输出值,这和它是不是public没有关系,就像在C语言当中学的那样,void就是没有输出值的类或者方法

结对及互评

点评过的同学博客代码

[20182312]()

结对照片

结对学习内容

1、如上图所示,本周我与结对对象学习和交流的主要是课本中的代码思想。因为这一次作业难度较大,所以我们两人共同参考了其他优秀同学的代码,并且讲出了每一步代码的意义。并最终交流完成了课本习题。

2、在周五上课之前,我与结对对象互相交流了IDEA的各项设置。因为我在IDEA的git设置上遇到了较大麻烦,因此他重点帮助了我有关git的内容。同时,他在juint插件方面有不理解的地方,我帮他找到了那个正确的junit.jar。

3、在即将完成此博客的时候,回顾了一下上周我与他的博客,并且总结了一些问题,对照学姐第一周给出的模板更改了一番。

上周博客互评情况

[20182312](https://www.cnblogs.com/shouko/p/11569734.html)

其他

1、这是一个任务十分繁重的学习周。周一进行关于熟悉IDEA的系列实验数量很多、程序很繁琐。大部分的时间都拿来设置IDEA了,且IDEA的体系与虚拟机、与CodeBlocks都相去甚远,所以适应起来也花费了许多时间。同样,在IDEA上有不少VIM上没有的组建插件,所以IDEA的功能也比VIM更多一些,在不习惯的情况下出错率也会更高一些。

2、由于在周一实验当天,没有掌握好设置IDEA的节奏,同时因为一步无法正确执行,打乱了全部的节奏。在接下来的几天当中一直处于没有心思去整理IDEA的状态下,也没有时间去预习UML的相关内容,使得实践五没有及时交上。但是在事后慢慢尝试和探索中,仅仅一个下午,困扰我许久的问题(比如无法git、无法编译运行)都迎刃而解了,说明我还是应该吸取当初适应Ubuntu时期积累的经验,要静下心来,掌握节奏,稳中有进地进行学习。

学习进度条

  代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 6000(目标已根据建议修改 30 400h  
第一周 101/101 2/2 23/23

了解了一些Linux系统操作入门、

学会了基本的JDB调试操作

第二、三周 353/441(删除了一些代码) 3/5 42/67

能够基本记住Java代码编程中的格式代码

了解了一些有关方法的特殊命令(比如substring)

了解了一些有关类的基本知识。

第四周  327/768 2/7 28/95 基本已经适应IDEA的基本功能

 

计划学习时间:30h

实际学习时间:28h

改进情况:加强了与结对伙伴的良性沟通,仔细询问代码思路,而不是只看代码本身。

参考资料

1、IDEA简易教程

2、IDEA下使用git

3、积极主动敲代码,使用Junit进行学习

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐