OOP事实上设计ADT是一个比较复杂的工作,作为一名初学者,绝大多数情况下我也是在给定的框架下进行有一部分自主性的设计而不是从头开始全部自己设计。即便如此在完成这些程序的时候我也有一些体会,感受。最初学习到这些与ADT相关的知识,我还算理解了RI,AF这些相关的概念,但我对为什么要把它们以注释的方式写在程序中非常不解,我感到这非常麻烦和枯燥,因为一个工程中往往有好几个ADT,它们每个都有一堆注释需要你完成,而你本可以直接写完实现代码了事。但随着学习的深入,我渐渐感受到了这样做的价值,之所以这样说有两个原因。其一是和过去直接写代码的纵向对比,在代码中写明RI,AF这些规则固然耗费时间,但之后编写程序时我确实感到思路更加清晰顺畅,每当你对自己某个变量的含义产生疑惑,你都可以在上面的注释找到对应的解释,而checkRep方法可以说就是照着RI一条一条来验证的,所以这些工作我个人认为是十分有其必要性的。这些概念被明确的提出就是为了我们更加正确高效的编程。
OOP是个好东西,它使程序员思考问题更有组织性,代码的组织也更清晰。我认为学会并使用一门语言并不是什么难事,难的应该是用语言这基本的语法与语句去解决一些复杂的问题。阅读优秀代码绝对也是自我提高的好方法,这不仅可以了解优秀代码的组织规范,更可以了解一些功能的实现思路。
Java基础语法和Java原理是首当其冲必须要掌握的知识,好比一个人习武,最基本的成扎马步开始。学习Java 也是同样的道理,必须要有坚实的基础,以后才能在今后的学习中从容自若。我相信任何一个优秀的程序员都是从代码堆中爬出来的,只有这样他才能够掌握更娴熟的专业技能,也正是因为如此,我们才要在学习中始终秉承着迎难而上的学习态度。