新手发问:何谓面向对象的语言设计
作为新手,很希望得到高手指点,请问:面向对象的语言与其他语言有何区别? 面向对象语言(Object-Oriented Language)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。面向对象语言借鉴了20世纪50年代的人工智能语言LISP,引入了动态绑定和交互式开发环境的思耄皇加?0年代的离散事件模拟语言SIMULA67,引入了类的要领和继承,成形于70年代的Smalltalk。面向对象语言的发展有两个方向:一种是纯面向对象语言,如Smalltalk、EIFFEL等;另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Objective-C等。
面向对象语言刻画客观系统较为自然,便于软件扩充与复用。有4个主要特点:
⑴识认性,系统中的基本构件可识认为一组可识别的离散对象;
(2)类别性,系统具有相同数据结构与行为的所有对象可组成一类;
(3)多态性,对象具有惟一的静态类型和多个可能的动态类型;
(4)继承性,在基本层次关系的不同类中共享数据和操作。
其中,前三者为基础,继承是特色。四者(有时再加上动态绑定)结合使用,体现出面向对象语言的表达能力。
一般认为,较典型的面向对象语言有:
SIMULA67,支持单继承和一定含义的多态和部分动态绑定;
Smalltalk支持单继承、多态和动态绑定;
EIFFEL,支持多继承、多态和动态绑定;
C++,支持多继承、多态和部分动态绑定。
四种语言涉及概念的含义虽基本相同,但所用术语有别。 简单的讲面向对象编程就是针对某个或某几个对象编写代码,比如我们希望点击一个按钮后程序为我们做某一件事情,这个程序内部的动作就是我们对这个按钮的click事件编写代码 比如C语言是面向过程的,C++是面向对象的。他们的本质区别是对于事物抽象的角度不一样,面向对象更贴近现实,它抽象出了一类事物的共同属性。面向过程的语言其实也可以做的很强大 楼主,请买本书好好看看!
清华大学谭浩强的C++程序设计 多谢各位前辈指教,再请问嵌入式系统需要采用C++编程吗?或者说在嵌入式系统中C++比C更具有优越性吗?
页:
[1]