面向对象思想
面向对象思想
Linbo he
Linbo he
引言
•
面向对象思想为软件设计与开发赋予了哲学的意义。
在哲学的世界里,小至沙粒微尘,大至日月星辰乃至
宇宙,均可视为单独的个体对象而存在。
•
以哲学的目光凝视程序的世界,又何尝不是如此?一
个用户,一种销售策略,一条消息,或是某种算法,
一个 Web 的网页,面向对象思想均将其看作为一种对
象。而每一种对象,都有其单独的生命周期,谁来创
建它,谁来销毁它,它的内在属性,表现行为,以及
它与外界之间的关系和集合,无不具有某种哲学的意
味。我们在定义对象时,就好比是在描述一个活生生
的事物,需要定义该对象的自然属性和社会属性。
•
抽象、封装、继承、多态,将面向对象技术推向为思
想的境界。
对象
对象是世界中的物体在人脑中的映象,是人的
意识之所以为意识的反映,是做为一种概念而
存在的先念的东西,它还包括了人的意愿。举
例说明吧。当我们认识到一种新的物体,它叫
树,于是在我们的意识当中就形成了树的概念。
这个概念会一直存在于我们的思维当中,并不
会因为这棵树被砍掉而消失。这个概念就是现
实世界当中的物体在我们意识当中的映象。
面向对象
所谓面向对象的方法学,就是使我们分析、设计和实
现一个系统的方法尽可能地接近我们认识一个系统的
方法。包括:
面向对象的分析( OOA, Object-Oriented Analysis )
面向对象的设计( OOD, Object-Oriented Design )
面向对象的程序设计 (OOP, Object-Oriented Program)
•
面向对象技术主要围绕以下几个概念 :
–
对象、抽象数据类型、类、类型层次(子类)、继承性、多
态性。
类与对象
这个世界是由什么组成的?”这个问题如果让不同的人
来回答会得到不同的答案。如果是一个化学家,他也
许会告诉你这个世界是由分子、原子、离子等等的化
学物质组成的。如果是一个画家他也许会告诉你,“这
个世界是由不同的颜色所组成的”。
但如果让一个分类学家来考虑问题就有趣的多了,他
会告诉你“这个世界是由不同类型的物与事所构成的”
是的,世界是由动物、植物等组成的。动物又分为单
细胞动物、多细胞动物、哺乳动物等等,哺乳动物又
分为人、大象、老虎……就这样的分下去了!
作为面向对象的程序员来说,我们要站在分类学家的
角度去考虑问题。