面向对象什么意思的应用(C++)

不要将本文简单地视为是对C++特征嘚一个介绍它的意义在于,一方面介绍了编程风格的演变以及这种演变背后的动机

。另一个方面它特别澄清了基于对象的(OB)和面向對象什么意思(OO)的异同,这是具有很大意义的我们可以看到,

不管是OB还是OO,都不过是一种程序的组织形式

这在很大程序上指出了OO着眼于解决什么样的问题

(程序如何组织才能有弹性,容易重用和理解)而不解决什么问题(数据结构的设计,算法的设计)等等

“面向对潒什么意思编程”和“数据抽象”已经成为常用的编程术语,然而很少有人能够就它们的含义取得一致的认识;本文以Ada,C++,Module

2,Simula和Smalltalk等语言为背景對此给出一个非正式的定义。基本的想法是将“支持数据抽象”等同于定义和使用新数据类型的能力而将“支持面向对象什么意思编程”等同于对类层次的表达能力。同时还讨论了通用编程语言为支持此种编程风格而必须提供的机制。文中虽然采用C++来表述问题但其讨論的范围并不仅限于这个语言。

并不是所有的语言都是面向对象什么意思的一般认为,APL,Ada,Clu,C++,LOOPS和Smalltalk是面向对象什么意思的我也曾经听说过关于使用C,

Pascal,Module-2,和CHILL进行面向对象什么意思设计的讨论。那么是否可以尝试使用Fortran和Cobol来进行面向对象什么意思设计呢我认为那也一定是可行的。在很多圈子里“面向对象什么意思”已经成为“优秀”的高科技代名词,在商业出版领域可以看到有以下的三段论:

所以Ada是面向对象什么意思嘚

本文从通用编程语言的角度出发陈述了“面向对象什么意思”技术的概貌:

第2节比较了数据抽象和面向对象什么意思之间的异同也将咜们和其他的编程风格做了区分;同时,指出了为了支持不同的编程风格所需的重要机制

第3节陈述了为高效地支持数据抽象所需的语言機制。

第4节讨论了支持面向对象什么意思所需的设施

第5节陈述了传统硬件体系结构和操作系统对于数据抽象和面向对象什么意思编程施加的限制。

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

面向对象什么意思编程是一种用来针对一類问题编写优质代码的编程技术。一个语言称为是“面向对象什么意思”的如果它支持(Support)面向对象什么意思风格的编程

在这里存在一个偅要的区别。?

面向对象什么意思其实是现实世界模型的自然延伸现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用叧外,现实世界中任何实体都可归属于某类事物任何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话面向对象什么意思的编程语言则是以对象为中心以消息为驱动。用公式表示过程式编程语言为:程序=算法+数据;面向對象什么意思编程语言为:程序=对象+消息。

所有面向对象什么意思编程语言都支持三个概念:封装、多态性和继承Java也不例外。现实世界Φ的对象均有属性和行为映射到计算机程序上,属性则表示对象的数据行为表示对象的方法(其作用是处理数据或同外界交互)。所謂封装就是用一个自主式框架把对象的数据和方法联在一起形成一个整体。可以说对象是支持封装的手段,是封装的基本单位Java语言嘚封装性较强,因为Java无全局变量无主函数,在Java中绝大部分成员是对象只有简单的数字类型、字符类型和布尔类型除外。而对于这些类型Java也提供了相应的对象类型以便与其他对象交互操作。

多态性就是多种表现形式具体来说,可以用"一个对外接口多个内在实现方法"表示。举一个例子计算机中的堆栈可以存储各种格式的数据,包括整型浮点或字符。不管存储的是何种数据堆栈的算法实现是一样嘚。针对不同的数据类型编程人员不必手工选择,只需使用统一接口名系统可自动选择。运算符重载(operator

overload)一直被认为是一种优秀的多态機制体现但由于考虑到它会使程序变得难以理解,所以Java最后还是把它取消了

继承是指一个对象直接使用另一对象的属性和方法。事实仩我们遇到的很多实体都有继承的含义。例如若把汽车看成一个实体,它可以分成多个子实体如:卡车、公共汽车等。这些子实体嘟具有汽车的特性因此,汽车是它们的"父亲"而这些子实体则是汽车的"孩子"。Java提供给用户一系列类(class)Java的类有层次结构,子类可以继承父类的属性和方法与另外一些面向对象什么意思编程语言不同,Java只支持单一继承


· TA获得超过3万个赞

这个是在程序设计语言中提到的,通俗的说就是说你在编写程序代码的时候,始终以你的结果为参照点

面向对象什么意思把现实的需求等等模拟成我们软件要做的对潒,然后控制对象的属性以及调用对象的各种方法等一系列对象的操作来完成我们所要达到的目的

下载百度知道APP,抢鲜体验

使用百度知噵APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案


· TA获得超过3.7万个赞

wcout也更安全而巳。

命名空间定义的用于输出

,不过形式上更简单而已。

其实是一个全局对象,clog

你对这个回答的评价是


· 游戏我都懂点儿,问我就对了

wcout吔更安全而已。

命名空间定义的用于输出

,不过形式上更简单而已。

其实是一个全局对象,clog

你对这个回答的评价是

下载百度知道APP,抢鲜体驗

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

我要回帖

更多关于 面向对象什么意思 的文章

 

随机推荐