1、面向对象(Object Oriented,OO)
是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。
从世界观的角度可以认为:
1、面向对象的基本哲学是认为世界是由各种各样具有自己的运动规律和内部状态的对象所组成的;
2、不同对象之间的相互作用和通讯构成了完整的现实世界。
从方法学的角度可以认为:
1、面向对象的方法是面向对象的世界观在开发方法中的直接运用;
2、它强调系统的结构应该直接与现实世界的结构相对应,应该围绕现实世界中的对象来构造系统,而不是围绕功能来构造系统。
2、面向对象思想
一种编程思想
人们应当按照现实世界这个本来面貌来理解世界,直接通过对象及其相互关系来反映世界。这样建立起来的系统才能符合现实世界的本来面目面向对象必须有描述对象及其相互之间关系的语言成分。
系统中一切事物皆为对象;
对象是属性及其操作的封装体;
对象可按其性质划分为类,
对象成为类的实例;
实例关系和继承关系是对象之间的静态关系;
消息传递是对象之间动态联系的唯一形式,也是计算的唯一形式;
方法是消息的序列。
3、三个特性(类的特性)
封装
对象是封装的最基本单位。
保证软件部件具有优良的模块性,防止了程序相互依赖性而带来的变动影响
继承
子类自动共享父类数据结构和方法
在类层次中,子类只继承一个父类的数据结构和方法,则称为单重继承。
在类层次中,子类继承了多个父类的数据结构和方法,则称为多重继承。
多态
相同的操作或函数、过程可作用于多种类型的对象上并获得不同的结果。不同的对象,收到同一消息可以产生不同的结果
允许每个对象以适合自身的方式去响应共同的消息。
4、面向对象写出的程序的优点
结构清晰
可维护性好
可扩展性好
稳定性高
5、面向过程(Procedure Oriented)
是一种以过程为中心的编程思想。
面向对象与面向过程的区别
面向过程 —— 是以什么正在发生为主要目标进行编程,
面向对象 —— 是谁在受影响。