什么是面向对象语言

来源:岁月联盟 编辑:zhu 时间:2010-02-08
  

面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。

面向对象语言借鉴了20世纪50年代的人工智能语言LISP,引入了动态绑定和交互式开发环境的思耄皇加?0年代的离散事件模拟语言SIMULA67,引入了类的要领和继承,成形于70年代的Smalltalk。面向对象语言的发展有两个方向:一种是纯面向对象语言,如Smalltalk、EIFFEL等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Objective-C等。

面向对象语言刻画客观系统较为自然,便于软件扩充与复用。有4个主要特点:

⑴识认性,系统中的基本构件可识认为一组可识别的离散对象;

(2)类别性,系统具有相同数据结构与行为的所有对象可组成一类;

(3)多态性,对象具有惟一的静态类型和多个可能的动态类型;

(4)继承性,在基本层次关系的不同类中共享数据和操作。

其中,前三者为基础,继承是特色。四者(有时再加上动态绑定)结合使用,体现出面向对象语言的表达能力。

一般认为,较典型的面向对象语言有:

SIMULA67,支持单继承和一定含义的多态和部分动态绑定;

Smalltalk支持单继承、多态和动态绑定;

EIFFEL,支持多继承、多态和动态绑定;

C++,支持多继承、多态和部分动态绑定。

四种语言涉及概念的含义虽基本相同,但所用术语有别。

图片内容