一:每個類都有一個原型,即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;??即可。呵呵,這可能是眾所周知的事實,而我還在說,不好意思,我是新來的