Director 对象的性质
一个对象是一个不连续的实体。称它为一件东西,一个结点或一个构件是合理的。在面向对象编程中,对象是产物或被类产生的实例。对象可以有属性 , 展示行为,执行方法,和赋值。
图 1. 这一个类模板是八个实例的源。
可重复使用性和封装是二个最明显的面向对象编程的好处。你可以使用一个类脚本产生无限量的专用实例对象,这里的每一个对象都是一个受保护,封装的实例。换句话说,实例不影响或改变类;他们不影响或改变彼此。
图 2.每个实例包含相同的属性和句柄如类,但是每个实例的属性数值被封装。你可以改变他们而不影响其他实例或类脚本。 如果这是你第一次接触面向对象观念,最后一点可能很难理解。不要惊慌。我们就要去讲述一些不同类型的对象。首先是有点像一个实际的物体 , 举例来说,一台电冰箱 。称呼这个第一个种类为复合对象。图 3. 复合对象是基于实际的事物的一个对象 , 像这台电冰箱。电冰箱对象不是空的。它有一系列内部的架子,而且每一个包含其他的物体。举例来说,顶端架,在它里面有一盒牛奶。那么简要重述,电冰箱有一盒牛奶。这盒牛奶,再进一步,它里面牛奶有一个量。
图 4. 复合对象的在各种不同的对象之间的 "has-a" 关系与每天事物的空间关系类似。复合对象有时被叫做 "has-a" 对象因为在多重对象之间的关系是一个暗示空间包含的关系。 你使用的电脑显示一个由带有色彩值的像素组成的屏幕。在这些对象之间的关系和复合对象之间的关系是类似的。
在这个系列文章里也许更有关的一个例子是一个Shockwave 3D成员组成。3D世界有一个几何模型节点, 依次分别有着色和纹理。在 Macromedia Flash 中一个矢量图形有一个顶点列表,分别有 x 和 y 的值和一个向量。
对象的另一个种类叫做继承对象。这些对象通常用来模仿概念上的关系而并非空间的。许多事物只存在概念或类别但没有实际形式。这些类型十分适和对象的结构。
图 5. 嗨,把你的头拿开! 你挡着我看电冰箱了。一个水果是什么种类的水果?你能在早餐要求水果并且确定结果吗?在感觉上你可能给出一些水果的种类,但是你不知道如何分别草莓和香蕉。
其实在草莓和香蕉之间有一个重要差别。一粒草莓是一个水果。一根香蕉是一个水果, 但香蕉有外壳。因为在对象之间的概念上的 (类型) 关系,这些对象继承来自他们最初分类的共有性质。水果都是植物, 都是甜果, 而且都有种子.因而把它们叫做 "继承对象"。
他们都能够从一个类分下来的前提是,我们能够概念上把这些事物联系在一起。他们的共同来源已经在我们的大脑中存在。