一、面向对象:
1、面向对象是一种世界观
面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;
不同对象之间的相互作用和通讯构成了完整的现实世界。
因此,人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。
这样建立起来的系统才能符合现实世界的本来面目。
2、面向对象是一种方法论
面向对象的方法是面向对象的世界观在开发方法中的直接运用。
它强调系统的结构应该直接与现实世界的结构相对应,
应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。
二、面向对象与软件开发
最初,“面向对象”是专指在程序设计中采用封装、继承、抽象等设计方法。
后来,“面向对象”的思想已经涉及到软件开发的各个方面。
面向对象的分析(OOA,Object Oriented Analysis)
面向对象的设计(OOD,Object Oriented Design)
面向对象的编程(OOP,Object Oriented Programming)
现在,“面向对象”的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。
三、面向对象与面向过程
1、两种不同的思维方式,各有优缺点。根据各自的特性用在不同的场合。
面向过程:把整个工程分成若干个功能模块来实现,按照逻辑先后顺序组织起这些功能,完成目标。
面向对象:把整个工程看成是若干个对象以及这些对象之间相互作用而形成的。
2、用程序伪代码来表示面向过程与面向对象
面向过程代码:close(window); 动宾结构短语,省略了主语(人或者神)
面向对象代码:window.close(); 主谓结构短语
3、面向对象是一种理想
通过以上代码,我们不难看出,我们在追求对象有“智慧”,“自己”去做某些事。
而以前过程代码其实是需要人推动的。
其实,我们的世界到处充满了杯具,一个完全面向对象的编程语言是没有生产力的。
具体表现为程序编程语言里面仍然有数据类型的存在。
四、面向对象与基于对象
“基于对象”不拥有一个独立的理论体系,其实是面向对象的初级阶段。
“基于对象”实质是使用对象。
“基于对象”无法利用现有的对象模板产生新的对象类型,即“基于对象”没有继承的特点。
转载至杨永喜老师的百度空间http://hi.baidu.com/%D1%EE%D3%C0%CF%B2/home