对象的性质

4/7/2006来源:Director教程人气:8839

一个对象是一个不连续的实体。称它为一件东西,一个结点或一个构件是合理的。在面向对象编程中,对象是产物或被类产生的实例。对象可以有属性 , 展示行为,执行方法,和赋值。



按此在新窗口浏览图片screen.width-333)this.width=screen.width-333\" src="/Upload/2004_Pack/3012434350293.gif">
图 1. 这一个类模板是八个实例的源。

可重复使用性和封装是二个最明显的面向对象编程的好处。你可以使用一个类脚本产生无限量的专用实例对象,这里的每一个对象都是一个受保护,封装的实例。换句话说,实例不影响或改变类;他们不影响或改变彼此。



按此在新窗口浏览图片screen.width-333)this.width=screen.width-333\" src="/Upload/2004_Pack/3012435159490.gif">
图 2.每个实例包含相同的属性和句柄如类,但是每个实例的属性数值被封装。你可以改变他们而不影响其他实例或类脚本。


如果这是你第一次接触面向对象观念,最后一点可能很难理解。不要惊慌。我们就要去讲述一些不同类型的对象。首先是有点像一个实际的物体 , 举例来说,一台电冰箱 。称呼这个第一个种类为复合对象。



按此在新窗口浏览图片screen.width-333)this.width=screen.width-333\" src="/Upload/2004_Pack/3012435647888.gif">
图 3. 复合对象是基于实际的事物的一个对象 , 像这台电冰箱。

电冰箱对象不是空的。它有一系列内部的架子,而且每一个包含其他的物体。举例来说,顶端架,在它里面有一盒牛奶。那么简要重述,电冰箱有一盒牛奶。这盒牛奶,再进一步,它里面牛奶有一个量。



按此在新窗口浏览图片screen.width-333)this.width=screen.width-333\" src="/Upload/2004_Pack/301244243741.gif">
图 4. 复合对象的在各种不同的对象之间的 \"has-a\" 关系与每天事物的空间关系类似。

复合对象有时被叫做 \"has-a\" 对象因为在多重对象之间的关系是一个暗示空间包含的关系。

你使用的电脑显示一个由带有色彩值的像素组成的屏幕。在这些对象之间的关系和复合对象之间的关系是类似的。

在这个系列文章里也许更有关的一个例子是一个Shockwave 3D成员组成。3D世界有一个几何模型节点, 依次分别有着色和纹理。在 Macromedia Flash 中一个矢量图形有一个顶点列表,分别有 x 和 y 的值和一个向量。

对象的另一个种类叫做继承对象。这些对象通常用来模仿概念上的关系而并非空间的。许多事物只存在概念或类别但没有实际形式。这些类型十分适和对象的结构。



按此在新窗口浏览图片screen.width-333)this.width=screen.width-333\" src="/Upload/2004_Pack/301244760231.gif">
图 5. 嗨,把你的头拿开! 你挡着我看电冰箱了。

一个水果是什么种类的水果?你能在早餐要求水果并且确定结果吗?在感觉上你可能给出一些水果的种类,但是你不知道如何分别草莓和香蕉。

其实在草莓和香蕉之间有一个重要差别。一粒草莓是一个水果。一根香蕉是一个水果, 但香蕉有外壳。因为在对象之间的概念上的 (类型) 关系,这些对象继承来自他们最初分类的共有性质。水果都是植物, 都是甜果, 而且都有种子.因而把它们叫做 \"继承对象\"。

他们都能够从一个类分下来的前提是,我们能够概念上把这些事物联系在一起。他们的共同来源已经在我们的大脑中存在。