zoukankan      html  css  js  c++  java
  • 第一阶段java作业总结

    一、作业过程总结

           学习了如何配置JDK、下载eclipse,如何简单编写一小段代码,发现java代码和C语言还是有很多相似的地方,但也有不同的地方。以后我还会碰到各种各样的困难,现在最好夯实基础,避免犯不必要的小错误。

          ①总结三次作业之间的知识迭代关系

          1. 第一次作业的计算税率、判断坐标所在位置、电话键盘字母数字转换、判断三角形类型和统计最大数出现次数是java的基础训练,简单的了解了java的输入输出,不是C语言的scanf输入语句,而是

    不是C语言的printf输出语句,而是          System.out.println(y+"is an invalid input");

          java也使用if...else...,while等条件语句

           2.第二次作业

    这次作业的求一元二次方程、判断闰年及星期几、求下N天和求前N天,主要训练我们java的创建对象、构造函数(构造方法)。

           3.第三次作业

    用类解一元二次方程式、日期类设计、日期问题面向对象设计(集合一)以及聚合二,主要训练我们java的类设计,也是前两次知识基础的一次考察。根据UML类图,理清Year类,Month类,Day类,DateUtil类的关系。

           ②如何通过作业逐步从面向过程过渡到面向对象 

            我们前面学习的C语言就是典型的面向过程编程语言,我的第一次作业很明显的用面向过程的思想实现题目的要求,第二次作业虽然用了构造方法,但也没有体会到面向对象的思路,第三次作业的类设计就比较突出了面向对象的特点,尤其是后面两道聚合题,就像是第二题的拼接改良版,这也意味着代码的复用性增强了。

            ③作业过程中遇到的问题及解决方法

             第一次作业比较基础,主要是注意java的格式;随着作业难度的逐渐增加,第二次作业开始,我便百度查找一些java基础知识以及方法的使用资料,模仿资料构造方法,根据测试点修改代码;第三次作业花费了较长时间在后两题,百度查找许多资料,也问了同学自己代码的错误,不断的修改和改进。

            ④每次作业花费的时间比例

             课程越多,能感觉到对java更加深入的探究,作业难度也逐渐增加,在作业上占的时间也越来越多,每次作业花费的作业比例是1:2:3。

            ⑤对编程过程的严谨性的认识及教训

             计算税率这道题难度不大,但是自己的小马虎,把一个边界值打错了,导致了不必要的错误;判断闰年及星期几这题我觉得在eclipse写完代码的没什么问题的时候,却在PTA作业提交后发现自己没有考虑到平年2月29日的错误情况,只考虑了月份日期范围[1,31],没有很全面,自己还是考虑的不严谨。

    二、OO设计心得

            ①面向过程与面向对象的比较

             面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,然后在主函数中通过调用不同的函数完成不同的功能,最后得到你想要的输出。而面向对象是以类作为功能的组织基础,以功能来划分问题,而不是步骤。面向对象就显得比面向过程灵活得多,复用性也强。

            ②面向对象设计的基本原则理解

              1.开闭原则:在设计类和方法模块的时候,有新的需求或变化,应该可以在不修改原有的模块(修改关闭)的基础上,能扩展功能(扩展开放)。

              2.单一职责原则:每一个类应该专注于做一件事情,不然有新的需求或变化就要有很大的改动。

              3.里氏替换原则:子类可以在任何地方替换它的父类。原则是对"开-闭"原则的补充,实现"开-闭"原则的关键步骤就是抽象化,而里氏替换原则是对实现抽象化的具体步骤的规范,违反里氏原则的,一定违反开闭原则。

              4.依赖倒置原则:要依赖抽象,不要依赖于实现,抽象不应该依赖于具体实现,具体实现应该依赖于抽象,这本质区别于面向过程。

              5.接口隔离原则:应当为客户端提供尽可能小的单独的接口,而不是提供大的总的接口。它的含义是尽量使用职能单一的接口,而不使用职能复杂、全面的接口。

              6.迪米特原则:要求尽量的封装,尽量的独立,尽量的使用低级别的访问修饰符,这是封装特性的典型体现。要求类之间的直接联系尽量的少,两个类的访问,通过第三个中介类来实现。

              7.组合/聚合复用原则:如果只是达到代码复用的目的,尽量使用组合与聚合,组合聚合只是引用其他的类的方法,而不会受引用的类的继承而改变血统。

             ③OO编程思维的理解

               我在前两次作业过程中,并没有对面向对象有什么很深的理解,当着手接触第三次作业时才有些初步了解。而后老师讲了面向对象的三大要素:封装,继承,多态中的封装和继承,在练习中也或多或少理解了面向对象的架构。面向对象就是以对象为中心,通过类和对象,分解和模块化不同组件,设定不同的功能,把一个问题分解成多个小的独立、互相作用的组件。

    三、测试的理解与实践

              ①测试对于编码质量的重要性

               测试阶段的根本目的是尽可能多地发现程序中的错误, 最终提高代码的质量。就像老话说的,是骡子是马拿出来遛遛。但是提高代码的质量不能依赖于测试, 代码的高质量是分析和设计出来的,而不是靠测试修补出来的。

              ②假如让我设计测试用例,我会

               穷举所有测试用例是不可能的,在设计测试用例时,应包括正确的输入条件和不正确的输入条件,在输入范围内外以及边界值选取测试数据。

    四、课程收获和教训

               面向对象的确比面向过程可维护性好,可复用性强,适应了面对过程的思维要让自己习惯面对对象可能还需要些时间,还有就是思路的设计还需要加强,有时自己的思路过于复杂,判断条件太多,需要划分大范围小范围进行简化。

    五、课程建议

              多举一些例题,多训练一下思路的简化设计。

  • 相关阅读:
    Attach Files to Objects 将文件附加到对象
    Provide Several View Variants for End-Users 为最终用户提供多个视图变体
    Audit Object Changes 审核对象更改
    Toggle the WinForms Ribbon Interface 切换 WinForms 功能区界面
    Change Style of Navigation Items 更改导航项的样式
    Apply Grouping to List View Data 将分组应用于列表视图数据
    Choose the WinForms UI Type 选择 WinForms UI 类型
    Filter List Views 筛选器列表视图
    Make a List View Editable 使列表视图可编辑
    Add a Preview to a List View将预览添加到列表视图
  • 原文地址:https://www.cnblogs.com/1023ls/p/12627909.html
Copyright © 2011-2022 走看看