心寄笔端 附庸风雅

甘草的技术博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
Preview
不久前,我在CSDN的blog上写了几篇关于面向对象理论的小文章。
http://blog.csdn.net/Slugfest/category/359453.aspx
但是现在,我觉得还有更多的东西可以讲,就是已经写出来的东西,也还有必要再修改修改,目的就是把我对面向对象理论的认识比较系统地表达出来。也希望可以给一些开发者以启示作用。
这章的小标题,我所以称其为Preview,是因为我现在手头的工作和Preview Image相关。


什么是面向对象?
面向对象是一种程序设计的范式。面向对象使用对象,类,封装,继承,多态,消息等概念来进行程序设计。

大约是2003年,在读研究生课程的时候,有一门课程就叫做《面向对象理论》。那是我第一次接触到“范式”这个词汇用于表征面向对象,于是我也习惯在此引用“范式”这个词汇。尽管有些晦涩,但是我以为准确。也许有些书籍会把这个词汇翻译为“风范”,似乎也很传神。


为什么面向对象?
面向对象符合人类对世界的认知规律。
简单说,人类个体认识世界是从对周围事物的观察开始的,而且是从具体到抽象的,并且认识到事物的属性,状态,行为等等,以及事物之间的相互关系。而面向对象就是对这种思维方式的抽象表达。

面向对象与面向过程并不矛盾。
面向对象着重刻画系统中对象的关系和相互作用,已经对象本身的属性,状态,和行为。面向过程则是侧重于描述过程。而面向对象的程序设计,也是无法离开面向过程的。这种划分,只是在系统设计中,更强调过程,还是强调对象关系的比较而已。


【2009-12-22, 最近又研究了一下Scala,发现Scala是一个能把面向对象和面向过程,以及函数式编程很好的融合在一起的语言。】


posted on 2008-06-06 10:11  甘草  阅读(740)  评论(0编辑  收藏  举报
Baidu
Google
心寄笔端
TEST
以后我会加上Power By的,先别介意