二、面向对象的编程语言(OOPL) 1、基本特性: 语言元素能够支持—一 类的定义 对象的静态声明或动态创建 属性和操作的定义 继承、聚合、关联和消息的表示 语言机制 类机制 封装机制 继承机制 高级特性: 多态、多继承的表示和支持机制 6
6 二、面向对象的编程语言(OOPL) 1、基本特性: 语言元素能够支持—— 类的定义 对象的静态声明或动态创建 属性和操作的定义 继承、聚合、关联和消息的表示 语言机制—— 类机制 封装机制 继承机制 高级特性: 多态、多继承的表示和支持机制
2、发展历史及语言谱系 Algol 1960 LISP Pascal Simula Modula 1970 Smalltalk Flavors 1980 Ada LOOPS)( Eiffel Ob ject C++ Objective-C Pascal Actor 1990 CLOS ava Visual C++ Delphi 7
7 2、发展历史及语言谱系 Algol Simula Smalltalk LISP Flavors LOOPS CLOS Eiffel Actor C++ C Objective-C Pascal Ada Modula- 2 Java 1960 1970 1980 1990 Object Pascal Visual C++ Delphi
3、类别 纯面向对象语言 例如: Smalltalk、 Eiffel 较全面地支持oo概念 强调严格的封装 混合型面向对象语言 例如:C++、 Objective-C、 Object Pascal 在一种非0语言基础上扩充oO成分 对封装采取灵活策略 结合人工智能的面向对象语言 例如: Flavors、 LOOPS、CLos
8 3、类别 纯面向对象语言 例如:Smalltalk、 Eiffel 较全面地支持OO概念 强调严格的封装 混合型面向对象语言 例如:C++、Objective-C、Object Pascal 在一种非OO语言基础上扩充OO成分 对封装采取灵活策略 结合人工智能的面向对象语言 例如: Flavors、LOOPS、CLOS
4、语言+类库+编程环境 编程环境 提供方便易用的人机界面 工具工具工具工具 和各种常用工具,如 编辑工具、可视化编程工 具、调试工具、浏览器等 编程语言 寸编程形成更 强有力的支持 类库 提供各种常用的类,如 定义共同协议的一般类 定义基本数据结构的类 界面对象类
9 4、语言+类库+编程环境 编程语言 对编程形成更 强有力的支持 类库 提供各种常用的类,如: 定义共同协议的一般类 定义基本数据结构的类 界面对象类 编程环境 工具 工具 工具 工具 提供方便易用的人机界面 和各种常用工具,如: 编辑工具、可视化编程工 具、调试工具、浏览器等
三、为实现00D模型选择编程语言 在OOD完成之后,选择什么编程语言实现OOD模型? 1、一般原则 基本原则语言的选择完全从实际出发 主要考虑成本、进度、效率等实际因素 OOPL是实现OOD的理想语言 它使源程序能很好的对应OOD模型 带有类库、编程环境、权限管理的OOPL更好。 用非OO语言也能实现OOD模型 缺乏O0机制的保证和支持 但若自觉遵循一定的原则,可以保持某些OO风格。 10
10 1、一般原则 * 基本原则——语言的选择完全从实际出发 主要考虑成本、进度、效率等实际因素 * OOPL是实现OOD的理想语言 它使源程序能很好的对应OOD模型。 * 带有类库、编程环境、权限管理的OOPL更好。 *用非OO语言也能实现OOD模型 缺乏OO机制的保证和支持, 但若自觉遵循一定的原则,可以保持某些OO风格。 三、为实现OOD模型选择编程语言 在OOD完成之后,选择什么编程语言实现OOD模型?