什么是面向对象的编程语言啊?

什么是面向对象编程啊?
比如java 就是面向对象的?
那C语言呢? VB呢? 是面向对象的吗?
主要我不明白什么是面向对象编程?

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

其特点如下:

(1)任何事物都是对象。

(2)运行期的基本实体,也是一个包括数据和操作这些数据的代码的逻辑实体。

(3)每个对象可以有自己的内存空间包含其他对象。

(4)类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。

(5)程序由一系列的对象组合,它们通过发送消息告诉彼此做什么。

(6)封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。

(7)一个特定类型的所有对象都可以接受同样的消息。

(8)继承是让某个类型的对象获得另一个类型的对象的特征。

(9)每一个对象都有类型。

(10)多态是指不同事物具有不同表现形式的能力。

注意事项:

Java是一门面向对象编程语言,具有功能强大和简单易用两个特征。

C语言是面向过程的程序设计语言,与C++,Java等面向对象的编程语言有所不同。

VB是一种面向对象的可视化程序设计语言,采取了事件驱动的编程机制。

扩展资料:

面向对象编程的优点:

易维护 :可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块。

易扩展 :通过继承,我们可以大幅减少多余的代码,并扩展现有代码的用途; 

模块化 :封装可以定义对象的属性和方法的访问级别,通过不同的访问修饰符对外暴露安全的接口,防止内部数据在不安全的情况下被修改。

方便建模:很多时候可以使用现实生活中对象的概念抽象后稍作修改来进行建模,极大方便了建模的过程。

参考资料:面向对象语言-百度百科

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-03-27

面向对象语言就是支持面向对象的程序设计的语言,如:c++,java、object pascal
等。一切操作都以对象为基础,是由面向过程语言发展而来的,但正是这个特性使得面向对象语言对底层的操作不是很方便。


现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。

面向对象编程语言都支持三个概念:封装、多态性和继承。

封装,就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。

多态性就是多种表现形式,具体来说,可以用"一个对外接口,多个内在实现方法"表示。

继承是指一个对象直接使用另一对象的属性和方法。


面向对象编程具有以下优点:

1、易维护

采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。

2、易扩展

通过继承,可以大幅减少多余的代码,并扩展现有代码的用途;

可以在标准的模块上(这里所谓的”标准”指程序员之间彼此达成的协议)构建程序,而不必一切从头开始。这可以减少软件开发时间并提高生产效率;

3、模块化

封装可以定义对象的属性和方法的访问级别,通过不同的访问修饰符对外暴露安全的接口,防止内部数据在不安全的情况下被修改。这样可以使程序具备更高的模块化程度,方便后期的维护和修改。

同时,面向对象语言允许一个对象的多个实例同时存在,而且彼此之间不会相互干扰;

4、方便建模

虽然面向对象语言中的对象与现实生活中的对象并不是同个概念,但很多时候,往往可以使用现实生活中对象的概念抽象后稍作修改来进行建模,这大大方便了建模的过程。(但直接使用现实中的对象来建模有时会适得其反)。


面向对象语言的发展有两个方向:

一种是纯面向对象语言,如Smalltalk、EIFFEL等;

另一种是混合型面向对象语言,即在过程式语言及其它语言中加入类、继承等成分,如C++、Objective-C等。

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

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

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

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

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

第2个回答  2008-11-13
简单的解释:
面向对象的语言是和面向结构的语言对应的。面向结构偏重的是程序的流程,而面向对象偏重的是一类事物的属性和操作。JAVA是面向对象的,C和VB都不是。而C++是。本回答被提问者采纳
第3个回答  2008-11-13
举个通俗的例子
比如你要开车去一个地方,如果是面向对象,你就可以直接调用开车那个方法,不必关心开什么车,走哪条路,他里面的方法都是已经写好了的
如果是面向过程,C语言,那你就需要知道开什么车、走哪条路等等,也就是说你需要写所有的方法
第4个回答  2008-11-17
Java 是典型的面向对象的编程语言。

其实,面向对象的概念是非常抽象的。
C语言不是面向对象,它是中级的编程语言。
Java是高级的编程语言。
相似回答