浙江温州台风最新消息:谁能为我解释一下什么是面向对象的程序语言,什么是面向过程的程序语言?

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/06 11:49:37
可是你们说的我看不懂
有没有简单明了的?

什么是面向对象编程?

译者序
不要将本文简单地视为是对C++特征的一个介绍。它的意义在于,一方面介绍了编程风格的演变,以及这种演变背后的动机
。另一个方面,它特别澄清了基于对象的(OB)和面向对象(OO)的异同,这是具有很大意义的。我们可以看到,
不管是OB还是OO,都不过是一种程序的组织形式。 这在很大程序上指出了OO着眼于解决什么样的问题
(程序如何组织才能有弹性,容易重用和理解),而不解决什么问题(数据结构的设计,算法的设计)等等。

摘要
“面向对象编程”和“数据抽象”已经成为常用的编程术语,然而,很少有人能够就它们的含义取得一致的认识;本文以Ada,C++,Module 2,Simula和Smalltalk等语言为背景对此给出一个非正式的定义。基本的想法是将“支持数据抽象”等同于定义和使用新数据类型的能力,而将“支持面向对象编程”等同于对类层次的表达能力。同时,还讨论了通用编程语言为支持此种编程风格而必须提供的机制。文中虽然采用C++来表述问题,但其讨论的范围并不仅限于这个语言。

1 介绍
并不是所有的语言都是面向对象的。一般认为,APL,Ada,Clu,C++,LOOPS和Smalltalk是面向对象的,我也曾经听说过关于使用C, Pascal,Module-2,和CHILL进行面向对象设计的讨论。那么是否可以尝试使用Fortran和Cobol来进行面向对象设计呢?我认为那也一定是可行的。在很多圈子里,“面向对象”已经成为“优秀”的高科技代名词,在商业出版领域可以看到有以下的三段论:
Ada是优秀的
面向对象是优秀的
所以Ada是面向对象的
本文从通用编程语言的角度出发陈述了“面向对象”技术的概貌:
第2节比较了数据抽象和面向对象之间的异同,也将它们和其他的编程风格做了区分;同时,指出了为了支持不同的编程风格所需的重要机制。
第3节陈述了为高效地支持数据抽象所需的语言机制。
第4节讨论了支持面向对象所需的设施。
第5节陈述了传统硬件体系结构和操作系统对于数据抽象和面向对象编程施加的限制。

文中例子程序使用C++来书写,这部分是出于介绍C++的目的,部分是因为C++是少数几个同时支持数据抽象,面向对象程序设计和传统编程风格的语言。本文不讨论为支持特定高层语言特性而涉及的并发性和特殊硬件支持。

2.编程风格(Programming Paradigms)
面向对象编程是一种用来针对一类问题编写优质代码的编程技术。一个语言称为是“面向对象”的如果它支持(Support)面向对象风格的编程。
在这里存在一个重要的区别。?

BASIC语言是60年代美国Darktouth学院两位学者发明的计算机程序设计语言,其含义是“初学者通用的符号指令代码”。它是一种非常简单的语言。80年代,适应结构化程序设计的需要,出现了第二代的BASIC语言版本,增加了许多数据类型和程序控制结构。其中较有影响的有True BASIC,Microsoft公司的Quick BASIC和Borland公司的Turbo BASIC等。
Windows软件的出现,为用户提供了一个直观的、图形丰富的工作环境。图形用户界面(Graphical User Interface,缩写为GUI)使应用程序更易于学习和使用。用户只要简单地用鼠标按钮点按“菜单”中的命令就可以执行指定的操作,而不必键入复杂的命令。屏幕上的多窗口可以让用户同时运行多个程序,并可以通过对话框输入所需要的信息让用户作出选择。确实,Windows的环境相当出色。但对程序员来说,实现这种界面的程序编写工作量是十分浩繁的。可视化程序设计语言正是在这种背景下应运而生。
可视化程序设计语言除了提供常规的编程环境外,还提供一套可视化设计工具,便于程序员建立图形对象,巧妙地把Windows编程的复杂性“封装”起来。90年代Microsoft公司的Visual Basic是以结构化BASIC语言为基础,以事件驱动作为运行机制的新一代可视化程序设计语言。它不仅比传统的程序设计语言有明显的优势,而且,随着版本的改进,功能越来越强大,不但可以作为多媒体软件制作工具、实现数据库管理,而且还具有网络功能等。