走在面向对象的路上

来源:互联网 发布:淘宝商城下载到手机上 编辑:程序博客网 时间:2024/04/20 06:16

学了将近一年的java,现在总算对java有了点初步的认识。当初c++学的不是怎么好,没有接触过c等过程是语言,可能导致了我在理解面向对象的概念时少了很多的干扰。但没有了面向过程,也就少了和面向对象的对比。可能也会让我对面向对象的理解有些偏差,而我却不知道这种偏差。侯捷译的《java编程思想》里的面向对象说的很简练:万事万物皆对象.我的理解是面向对象是一种思维习惯,把一个物体看成一个整体,这个整体有他的属性.所以在建立模型的时候就要考虑物体的种种属性和方法.属性和方法不能单独的存在,必须依赖于一个物体,即对象.这可能就是为什么写程序的时候都是写成对象.方法的原因(记得在c++里面.是对象标示符,也有一定的含义).接触了很多刚刚接触java的学生,他们的错误往往就是不知道什么是对象.我当初对对象的理解也是有很多的偏差,总是觉得一个class就是一个对象.这种理解实际上是不合适的.对象的建立首先要有很清楚的认识.就是为什么要建立这个对象.这个对象在整个框架中起了个什么样的作用,理解了这个对象的概念应该是很清楚的了,当然对于一个大项的系统对象实在是太多了,划分的根据也有很多.但是这里面有一个原则:可复用,易扩展性,良好的封装,这也是面向对象的特点.可能这几个特点说起来大家都很清楚,但是真正在项目中应用的时候可能就会有问题了,什么样的程序是可复用的,怎么样的架构是易于扩展的,怎么样封装才能恰到好处,这里面其实很大有学问的,最近作一个项目,两个近乎一样的业务逻辑,我实现了其中的一个,另外一个就不再做了,给老板的理由是他们的逻辑几乎是一样的.最后我继承以下就可以了,总共也就是在写个几行的代码就可以了.现在觉得吹得有些大了~~.对自己第一个业务的结构自己都强烈的怀疑了.呵呵.大不了最后来个代码的复用(把代码拷过去,改代码),但是这样就违反了面向对象的初衷了.现在想想,里面还是有经验和水平的问题,要不然也就没所谓的牛人和凡人了,面向对象的特点里面还是可复用性最难把握(对于我这种水平的人来说),这要求不仅对业务逻辑相当清楚,对面向对象的理解也很透彻,我这点还差得远.但不管怎么样,我已经走出了单纯为写代码而写代码的那个层次,也在开始追求代码的完美性了.这也算是我写代码开始进入另外一个境界的开始把.最后套用一个禅教对于境界的表达作结束吧:

第一境:"落叶满空山,何处寻芳迹."

第二境:"空山无人,水流花开."

第三境:"万古长风,一朝风月."

原创粉丝点击