20162314 《程序设计与数据结构》第五周学习总结

20162314 2016-2017-2 《程序设计与数据结构》第五周学习总结

教材学习内容总结

类和对象 : 问题描述中的名词
面向对象程序设计的核心是类的定义,代表定义了状态和行为的对象
变量的作用域依赖于变量声明的位置,作用域决定在哪里可以使用变量
UML类图有助于呈现程序中类的内容和类之间的关系
对象应该是封装的,以防对数据的不合适的访问
实例变量应该声明为私有的,以提倡封装
大多数对象含有访问方法和设值方法,允许客户按可控方式管理数据。
类表示对象状态的方式应该独立于对象的使用方式
方法的返回值类型应该与方法头中规定的返回值类型一致
当调用方法时,将实参复制给形参
方法内部声明的变量是方法的局部变量,不能在方法外使用
构造方法不能有任何的返回值,即使是void 也不行
静态变量由类中的所有实例所共享
聚合对象由其他对象组成,形成has-a 关系
对象提供的一个复杂服务可以分解为几个私有支撑方法
当把对象传递给方法时,实参和形参互为别名
重载方法的各版本由参数个数,类型及次序来区分
测试一个程序永远不能保证全部消除了错误
对一个程序测试所有可能的输入和用户的动作是不可行的
在测试驱动的开发中,在编写代码之前开发代码的测试用例
调试就是定位并修正程序中的运行时错误及逻辑错误的行为
调试程序是一个软件程序,它允许开发人员观察程序的运行

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

  • 问题:在第五章最初开始学习自定义类和对象的时候,由于没有认真研读教材,出现这种问题

    错误类型:找不到符号

  • 问题解决方案:后来仔细阅读的教材,因为自定义的类不是Java类库中预定义的,所以需要先对类进行定义
    于是我继续给程序中的新类进行了定义

    就能正常运行了

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

  • 问题:在PP设计游戏程序中曾出现以下问题

    如最后一行所示,y/n another 命令无法执行
  • 问题方案:我检查了一下我写的源代码,注意到了 y是String定义的 和 scan.nextInt 不是一个类型,需要再new一个 scan
    于是做了以下调整


    然后程序就运行成功了

代码托管

上周考试错题总结

  • 假如有一个名为names的String对象数组,下面哪个for循环不能遍历数组中每一个元素
    for(int i =0;i<names.length();i++)
  • 假如用 Scanner对象处理文件名为“input。txt”的文本文件,哪个行代码正确创建了Scanner对象
    Scanner inputFile=new Scanner(newFile("input.txt");

结对及互评

20162310 林臻
林臻同学在最近一周的第五章学习中表现十分认真
他遵循先看视频 后读教材的过程
由于本章内容难度稍高,他反反复复做了很多遍程序,
受益良多。

参考资料
《Java程序设计与数据结构教程(第二版)》

《Java程序设计与数据结构教程(第二版)》学习指导
Java中private、protected、public和default的区别
Java中private的使用
UML类图、关系及其JAVA代码
比较常用UML类图几种关系的小结

原文地址:https://www.cnblogs.com/CS162314/p/6658614.html