大话“基于对象”与“面向对象”
大话“基于对象”与“面向对象”
面向对象这种编程方法,已经成为当今的主要开发方式。
可是,观察当今大多数的项目,都只是用面向对象的语言,来做基于对象的开发。这种说法,虽然会引起大多数人的抵触,但这确实是业界的一种看法!
面向对象设计是针对面向过程设计,而发展起来的一种先进的编程思想。面向对象是将什么东西都看做对象,它们即相关又独立。这是与面向过程的重大区别之一!面向过程只相关不独立。由于不独立,人们只能按照一定的逻辑顺序来做程序。
面向对象的特性是:封装、继承、多态
注意:由于没有用到这三个特性,所以说多数开发都是基于对象!
封装:
多数的开发人员肯定说,我用到了封装。但是请大家想一想,访问修饰符中 public 是不是被滥用了?不分青红皂白,不分层次用上就好。为什么?因为它最方便、最省事、最不会冲突!安全吗?那不是我的事。这就好象很多的大门都挂了锁,但都没有锁上。您想这和没用有什么区别?
继承:
继承可以提高代码的复用率,可以设计出清晰、稳定、易于扩展并且容易维护的软件。那么目前,多数项目中,都是用一些现成的对象(控件),编写一些代码就可以运行了。即便用了少量的继承,如继承某些控件,添加了一些功能,但这也只是技巧性的,没有从整个架构上来进行设计。
例如,我们在一些项目中,经常会抽象出一些常用的功能,编写成常用的模块。如果将其先标准化,使其在相关类中继承,然后扩展其功能,就可以大大地加快开发速度,也便于维护。说到此,我想会引起真正做过项目朋友的心动。这才是继承的精髓之所在!
换个角度说,确实也很难进行量化的认定。就象常说的高手与新手,怎么划线?我们只能是在继承的思维模式下,通过不断的实践与积累,使继承这个特性得到充分的发挥!
多态:
多态源于继承(类或接口),可以增加编程的弹性。主要是用在类中某些不确定的对象上,可以简化代码。但是,如果您没有用到继承,也就谈不上多态了。
这是本人来自实践中的感悟,并非完全来自教课书,所以言之为“大话”。专业人士可当作奇文来欣赏!