一:每个类都有一个原型,即Prototype.它是一个对象。我们用 trace(
typeof MovieClip.prototype)
// object trace(
typeof color.prototype)
// object 这是区分类和对象的好方法。math 不是类,我们用 trace(
typeof Math.prototype)
// undefined 这就是类和对象的区别了。 二:每个实例又都有一个__proto__属性。我们用 _root.createEmptyMovieClip("mc",1);
trace(
typeof mc.__proto__);
// object 那么实例和类的关系就不难知道了。是将实例的__proto__和类的prototype相连起来。接上的例子我们用: trace(mc.__proto__==MovieClip.prototype)
// true 这就为我们继承带来了方便。 三:继承的标准方法是用 new child.prototype=
new parent();
我们已经理解了实例的创建,也就不难理解这句了。是将child的原型的属性__proto__和parent相连。因此成了 父子类。这也说明对象是有__proto__的。 既然对象是有__proto__的,那么Math 也应该有,是的。我们用 trace(
typeof Math.__proto__);
// object 四:用原型直接建立继承 我们知道了上面的事实,就可以直接用语句来建立继承。 child.prototype.__proto__=parent.prototype;
即可。呵呵,这可能是众所周知的事实,而我还在说,不好意思,我是新来的