
面向对象的程序设计。面向对象程序设计是一种程序设计范型。
同时也是一种程序开发的方法。oop对象指的是类的实例。它将对象作为程序的基本单元。将程序和数据封装其中。以提高软件的重用性。灵活性和扩展性。面向对象程序设计可以看作一种在程序中包含各种独立而又互相调用的对象的思想。这与传统的思想刚好相反:传统的程序设计主张将程序看作一系列函数的集合。或者直接就是一系列对电脑下达的指令。面向对象程序设计中的每一个对象都应该能够接受数据。
处理数据并将数据传达给其它对象。因此它们都可以被看作一个小型的“机器”。即对象。目前已经被证实的是。面向对象程序设计推广了程序的灵活性和可维护性。并且在大型项目设计中广为应用。 此外。支持者声称面向对象程序设计要比以往的做法更加便于学习。因为它能够让人们更简单地设计并维护程序。使得程序更加便于分析。设计。理解。反对者在某些领域对此予以否认。当我们提到面向对象的时候。它不仅指一种程序设计方法。它更多意义上是一种程序开发方式。
在这一方面。我们必须了解更多关于面向对象系统分析和面向对象设计方面的知识。
中文名,面向对象的程序设计。所属,计算机编程架构。使用领域,CAD技术。人工智能等。
基本理论。一项由Deborah J. Armstrong进行的长达40年之久的计算机著作调查显示出了一系列面向对象程序设计的基本理论。

它们是:类定义了一件事物的抽象特点。通常来说。类定义了事物的属性和它可以做到的。举例来说。“狗”这个类会包含狗的一切基础特征。即所有“狗”都共有的特征或行为。例如它的孕育。毛皮颜色和吠叫的能力。类可以为程序提供模版和结构。一个类的方法和属性被称为“成员”。 我们来看一段伪代码:在这串代码中。
我们声明了一个类。这个类具有一些狗的基本特征。关于公有成员和私有成员。请参见下面的继承性一节。对象是类的实例。例如。“狗”这个类列举狗的特点。从而使这个类定义了世界上所有的狗。而莱丝这个对象则是一条具体的狗。它的属性也是具体的。狗有皮毛颜色。而莱丝的皮毛颜色是棕白色的。因此。莱丝就是狗这个类的一个实例。一个具体对象属性的值被称作它的“状态”。假设我们已经在上面定义了狗这个类。我们就可以用这个类来定义对象:我们无法让狗这个类去吠叫。
但是我们可以让对象“莱丝”去吠叫。正如狗可以吠叫。但没有具体的狗就无法吠叫。类和对象就好比是“实型”和“1.23”。“实型”是一种数据的类型。而“1.23”是一个真正的“实数”。所有的“实数”都具有“实型”所描述的特征。如“实数的大小”。系统则分配内存给“实数”存储具体的数值。一个对象通过接受消息。处理消息。传出消息或使用其他类的方法来实现一定功能。这叫做消息传递机制。如:莱丝可以通过吠叫引起人的注意。
从而导致一系列的事发生。继承性是指。在某种情况下。一个类会有“子类”。子类比原本的类要更加具体化。例如。oop“狗”这个类可能会有它的子类“牧羊犬”和“吉娃娃犬”。在这种情况下。“莱丝”可能就是牧羊犬的一个实例。子类会继承父类的属性和行为。并且也可包含它们自己的。我们假设“狗”这个类有一个方法叫做“吠叫”和一个属性叫做“毛皮颜色”。它的子类会继承这些成员。这意味着程序员只需要将相同的代码写一次。在伪代码中我们可以这样写:回到前面的例子。
“牧羊犬”这个类可以继承“毛皮颜色”这个属性。并指定其为棕白色。而“吉娃娃犬”则可以继承“吠叫”这个方法。并指定它的音调高于平常。子类也可以加入新的成员。例如。“吉娃娃犬”这个类可以加入一个方法叫做“颤抖”。设若用“牧羊犬”这个类定义了一个实例“莱丝”。那么莱丝就不会颤抖。因为这个方法是属于吉娃娃犬的。而非牧羊犬。事实上。我们可以把继承理解为“是”或“属于”。莱丝“是”牧羊犬。牧羊犬“属于”狗类。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-47257-1.html
此人完了