OO第一单元(前四周)作业总结

0.前言

前三次作业都已完成,在完成作业的过程中暴露出许多问题,在此处作业对前4周情况做个总结,以达发现问题、解决问题、总结经验的目的。

 

1.作业过程总结

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

第一次作业作为Java课程的入门,带我初窥Java语言的基础形式,考察了顺序结构、选择结构(if-else语句、switch-case语句)、循环结构(for语句等)及基本的输入输出语句。

第二次作业在第一次作业的基础上加入了方法,力求代码更加规范,还有加了对输入输出格式的控制以满足客户需求,作业难度也有所提高。

第三次作业将考察重点放在了面相对象程序设计,体现出Java是一门面向对象的程序语言。

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

C语言作为我的第一门编程语言,同时也是一面面向过程编程语言,导致一开始接触面相对象有点摸不着头脑,第一第二次作业不需要面相对象的知识,但我在课余找了一些书和例子相互配合加快了对面向对象的理解。在第三次作业实操中加深了对面向对象思想的理解。

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

每次作业都遇到许许多多的问题。最常见的就是各种逻辑错误,还有对Java语法的不了解导致的问题,如对输出数据的格式进行控制(保留多少位小数)一开始不知道怎么处理,对这些问题最多是通过搜索引擎搜索相关资料解决的。

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

作业难度依次提高,花费的时间也在依次增加。体感大概比例是1:2:4。

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

因为数学很差,我一直缺乏逻辑严谨性,写程序就是在写BUG,经常的报错,我会努力训练提升自己的逻辑思维能力。

 

2.OO设计心得

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

面向过程和面向对象都是解决问题的方式。前者在考虑问题时着重于理出处理一件事的每一个步骤,有如工厂里的流水线作业方式,每部分按部就班,环环相扣,但不够灵活,当流程改变就要改动程序。后者则抽象出类这一概念,万物皆为对象,一些对象的共通的属性、行为可以被抽象为一个类,再利用一个个类解决问题,目前最直观的感受就是代码的复用性大大提高。

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

五个基本原则缩写为SOLID。

S:单一功能原则

程序员面对的问题总是复杂的但复杂的事物也是一个个简单的事物组成的,在面对一个复杂问题,最一般的方法“大事化小、小事化了”,用一个字总结就是“拆”。不仅方便写程序也方便后面的调试。

O:开闭原则

开放扩展,以便满足日新月异的需求,关闭修改,维持程序封装的稳定。

L:替换原则

不太清楚,我的理解:复学是一个基类,那它就可以被替换为大学复学、小学复学、初中复学、高中复学这些子类……

I:接口隔离原则和D:依赖反转原则

目前我还不没搞清楚

③OO编程思维的理解

面向对象,我的理解是雇人做事,面向对象思维贴近生活,现实中建个建筑是个大工程,那就雇佣各种建筑工人分工合作完成,而不是一个人按施工手册一步一步完成(面向过程)。

 

3.测试的理解与实践

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

出于各种原因,一开始写的代码总有各种各样的问题,通过编译并不是编程的结束,测试非常重要,尤其全面的测试下,可以很好的摸清代码的质量,好代码是测试不来的。

②假如让你设计测试用例,你会如何做

除了最常见的使用场景,还有抓住特殊情况下的代码正确性,就如数学中总有那么几个特殊点,比如函数的区间两端。笼统的说,测试要全面,覆盖所有使用场景。

 

4.课程收获

学会一些基本的Java语法,简单的了解了面向对象编程思维,也意识到还远远没掌握,最近的网络学习也让我的自学能力有所提高当然更有待提高,还有最简单的快乐,自己程序通过所有测试点那一刻的成就感会油然而生。

 

5.对课程的建议

或许在课堂上可以把作业中的易错测试点涉及的知识讲解一下,当然可能复习时再提一下更好吧!

posted @ 2020-04-04 21:56  iANDalli  阅读(117)  评论(0)    收藏  举报