java第一阶段框架总结_18207115-JAVA第一阶段总结

我认为,第一次作业,是让我们知道一个Java程序的一个最基本的结构框架,而第二次作业,则是要我们在知道了最基本的结构框架之上,学会如何去定义函数并且调用它。第三次作业,是在知道了如何定义函数之上,让我们自己去定义一个类,通过类与类之间函数的调用来实现。而不是单纯的main函数调用其他函数。

在写第一次,二次作业的时候,个人感觉和面向过程差不多。想出解决问题所需要的方法,然后用函数把这些方法逐渐实现,使用的时候再在main函数里依次调用就可以了。而在第三次作业中,需要自己去创建一个类,以及类里包含的函数和变量。并且在其他类中调用。才慢慢地感觉到面向对象则是要将这个问题里包含的所以对象全部构造出来,并且赋予他们应有的属性以及他们可以去做的一些行为(函数)。解决这个问题的方法不是一步步调用函数,而是让某个对象去做某些事来解决这个问题。

刚开始写的时候,因为对Java没有任何了解,很多最基本的语句,比如输入输出都不知道,通过上网查才了解了最基本的语句以及如何去定义一个变量。其次,就是在自定义函数时候,不知道什么时候应该加上static 以及返回值。不是很理解构造函数和自定义函数的区别。但是在后来听了课之后,这个问题也就迎刃而解了。目前,个人认为自己最大的问题是不能熟练得在另一个类里调用其他类的函数,以及不知道在类里定义一个函数或者是构造函数时什么时候需要有形参,什么时候可以没有。例如在第三次作业中,同样在DateUtil类里checkInputValidity()可以不要形参就能使用类里定义的变量year month而isLeapYear(int year)函数则需要形参。目前问题还没有完全解决。仍在查阅答案。

这三次作业花费的时间比例为1 :3:5

通过这几次作业,意识到在编程过程中,不仅要想着如何去解决问题,还得想变量的范围。思考一个变量在最大值或最小值以及某些特殊值时所产生的结果。以及会不会因为这个结果而导致整个程序的结果都发生错误甚至使程序无法运行。

写完第一次作业时,对java的认识是和C语言,很多东西在main函数里写,差不多整个程序就能运行了。但第三次作业写完。我才意识到他们的区别还是很大的。。面向过程是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候在main函数里一个一个依次调用就可以了;面向对象是把构成问题的事物分解成各个对象,并且建议这些建立对象,同时赋予他们属性和行为。其目的不是为了完成一个步骤,而是为了描叙某个事物在解决整个问题中的行为。

面向过程思路简单,可以一拿到问题就开始去写,不需要去思考对象这些东西。其效率更高。

面向对象虽然需要花更多时间去思考问题里包含的对象,但它可以在其他的类中运用,并且更易修改和扩展。如一个问题只发生了小小的变化,只需要在类里改某一个属性即可。

我对七大原则的理解是

开闭原则:当需求有新的变化时,可以对现有的代码进行扩展

里氏替换原则:用子类来替换父类

单一职责原则:一个类只做和自己有关的事,不把过多的工作放在一个类里完成;

接口隔离原则:建议单一的接口,并且尽量细化接口,而不是去建一个庞大的可以让全部类用的接口

依赖倒置原则:下层的类不应该直接使用上层的具体类

迪米特原则:一个类里尽量少用其他的类

组合/聚合复用原则:在一个新对象里使用关联关系使用一些已有的对象,使之成为新对象的一部分。

而OO编程的思维不应该从如何解决问题这一步出发,而是从问题的组成上出发,对问题进行划分,用类来作为基本的单位,使得整个程序尽可能模块化,贴近现实生活。

其次,我认为测试对于编码质量的检验是非常重要的,不仅可以检查程序有没有错误,还能让自己知道这个程序有没有不足之处,能否完美地解决问题。而测试用例应该包括正确的输入和错误的输入两大部分,其中,正确的输入里应该有关于临界值的测试以及某些特殊值的测试。而错误的输入则是判断程序有没有这方面的识别功能。

通过这四周的学习,我知道了面向对象和面向过程的区别,同时也学会了如何去构造一个类并且用面向对象的思想去解决问题。同时也发现了面向对象相比于面向过程,思考的要更多,执行起来更困难一些。

希望今后的课程中能多给我们展示一些代码。让我们有更多的见识,知道更多的方法。也希望,能讲解一些视频上没有提到的一些基础知识。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值