日期:2014-05-16  浏览次数:20359 次

extjs继承问题 extjs继承一般是继承静态的还是非表态或者是没有限制
/* 第一种: 子类静态属性, 方法继承父类的静态方法 (同名属性被父类覆盖)
Object.extend(sun, father);

/* 第二种: 子类静态属性, 方法继承父类非静态方法,(同名属性被父类覆盖) 
Object.extend(sun, father.prototype);

/*第三种: 子类非静态属性, 方法继承父类静态属性, 方法, (同名属性被父类覆盖)


/*第四种: 子类非静态属性, 方法继承父类非静态属性, 方法 (同名属性被父类覆盖)
Object.extend(sun.prototype, father.prototype);


问题:
但是extjs中的类的扩展一般都是如下形式,然后再new出来用。那是不是说extjs的方法大部分是 静态的吗? 但是好像不应该是这样的。
  /扩展基类 如
Ext.extend(Ext.ResizableConstrained, Ext.Resizable, {。。。。});
飞翔 17:42:47
继承的时候是没有加prototype 
飞翔 17:43:04
也就是说都是用第一种的形式继承的

------解决方案--------------------
你是extjs几啊。extjs4有一套很完善的类扩展方式呀,没这么复杂嘛。
应该是没限制的,父类拥有的子类应该都能有。
------解决方案--------------------
继承肯定是要用prototype的,Extjs也不会例外
之类和父类都作为参数传递到Ext.extend 函数,既然对象都传递进去了,那么prototype属性当然也可以访问,不知道你是以什么根据判定没有用prototype属性的,想当然的??