Browse > Home > Archive: 07月 2007

| Subcribe via RSS

AS2:动态改变实例对象所属的类

07月 2nd, 2007 | No Comments , 126 views | Posted by flashlizi in Flash8/AS2

Object对象有2个属性:__proto__和prototype。__proto__是引用用于创建对象的类或构造函数的 prototype属性;prototype是对类或函数对象的超类的引用。在as2中,对象的基本继承都是通过原型链的。因此,我们可以利用Object对象的__proto__和prototype属性来实现动态改变实例对象所属的类。

类classA:
class classA
{
function classA ()
{
trace ("This is a instance of classA")
}
}

类classB:
class classB
{
function classB ()
{
trace ("This is a instance of classB")
}
}

接下来看实验代码:
import classA;
import classB;
var flashrek = new classA();
trace(flashrek instanceof classA);//true
var className = classB;
flashrek.__proto__ = className.prototype;
className.apply(flashrek, null);
trace(flashrek instanceof className);//true

wow gold wow gold wow gold wow power leveling wow power leveling wow power leveling nike shoes nike shoes nike shoes nike shoes jordan shoes Jordan shoes jordan shoes Jordan shoes world of warcraft gold world of warcraft gold Replica handbags 1