第一次课设报告
前言
这一个月,我们学习了面向对象的编程方式,以下是我初步学习面向对象思维方式的收获。
1,作业过程总结
第一次作业还是较为简单的,大多运用的还是上学期学习的C语言的知识,大概花费了5个小时的时间来完成,虽然题目叫为简单,但仍然在第一题就出现了一些问题。因审题不清,盲目带入自己的主观意识,导致将题目中的收益分段算税理解成收益分层次收税,后经过再次审题方才解决,耗时1小时。
通过这些问题,我认识到我们在着手写程序之前应该明白工程问题中的客户的功能需求,程序编程是一个严谨的过程,不能主观臆断盲目带入自己的主观意识来解决问题。
第二次作业的难度较第一次有稍许增加,仍然是C语言的知识,但与第一次作业又有不同,需要用到设计函数的方法来完成,大概耗时5个小时,在第二题出现了问题。仍然是因为审题不清,但不是题目功能需求理解错误,而是忽略了题目的结果需求,发现问题后,经再次审题后解决问题较简单,耗时5分钟。
通过问题认识到着手写程序之前除了需要了解客户的功能需求,还需要了解客户的结果需求,不能主观臆断解决问题。
第三次作业初步接触了面向对象的思维方式,运用了类的方法,题目较难,大概耗时10个小时,发现的问题挺多。第一题,我没有准确理解结果不能作为类属性,经老师提醒后发现问题,通过删除类属性解决。
第二题,写程序时public DateUtil getNextNDays(int n)方法不知道如何写返回,后通过对当前对象的引用(this)解决。程序完成后发现运行超时,后在代码中加入了对天数过大时的处理代码优化了程序,问题得到解决。
而第三,第四题都用到了类图,我在对类图中各数据的处理上遇到了问题,不过类图写的很详细,所以实践起来也比较容易,因为算法上和之前的几乎差不多,所以把之前的算法分解后再放入相应的类方法中就解决了。
以上的问题,我都或多或少的得到了老师,朋友的帮助才得以解决,因此,我认识到写代码,学代码都少不了团队合作,尤其是面对工程量庞大的工程问题。
2,OO设计心得
面向过程与面向对象的比较
面向对象是一种有别与面向过程的思维方式,面向过程是将工程问题分为一个个小步骤,然后算法实现步骤来解决,这种方式适合解决一些逻辑之间较为简单的工程问题,但当面对一个工程量庞大,逻辑关系复杂的工程问题时,分步骤解决的这种思维方式就不那么适用了,因为这种思维方式不那么的贴合我们日常生活中遇到的工程问题,这时我们就需要使用面向对象的思维方式了,这是一种基于建立对象,然后通过联系起各对象之间的从属关系和调用方式来解决实际问题的思维方式,无疑这种方式贴合了现实问题中多对象,多联系的情况,为实现庞大工程问题多人合作完成提供了可能。所以从编写设计的角度来说,面向对象的思维方式更优于面向过程的思维方式。
面向对象设计的基本原则
1类与类之间是有明确分工的,是相对独立的(单一职责原则)。
2类与类之间存在聚合,关联,依赖等关系(类间关系),类间关系越不紧密越好。
3类的属性应该要是私有的,方法应该要是公有的,其他类不能调用本类的属性,但能调用本类的方法,且计算结果不能作为类的属性。
4目前所有的方法除了main是static外,都不是static。
OO编程思维的理解
贴合了现实问题中多对象,多联系的情况,为实现庞大工程问题多人合作完成提供了可能。
3,测试的理解与实践
测试是检验代码质量的一种重要方式,是检验代码功能质量的重要衡量标准。
测试用例的设计应该采用“采极端”的方法,多用一些代码可行范围临界值,或者代码内的条件分支中的值。
4,课程收获
1.重拾了C语言所掌握的语法知识,熟练了java的语法。
2.初步认识了面向对象思维,掌握了一些创建,使用类的原则。
3.可以简单的操作PowerDesigner,和理解类图。
4.认识到了写程序需要了解客户需求,需要团队合作。
5,对课设的建议
讲解作业,帮助我们更好的理解,多讲一些代码的规范(隐性要求),让我们改掉之前写C语言时候的一些陋习。
浙公网安备 33010602011771号