ExtJS继承和javascript原生继承

//javsscript继承方式

var People =function(sex){
this.name='名字';
this.age=0;
this.sex=sex;
}

People.prototype.talk=function(){window.alert('说话');}
People.prototype.walk=function(){window.alert('走');}
People.prototype.description=function(){window.alert(this.name+' 是 '+this.age+" "+this.sex);}

var Worker=function(){
People.call(this,'男'); //调用父类的构造函数初始化数据 将父类构造函数中数据复制到子类中,'男' 是传入给父类构造函数的参数,可以省略
this.name='jack'; //覆盖父类属性
this.age=12;
}

Worker.prototype=new People(); //实现继承,获取父类属性和函数
Worker.prototype.doJob=function(){window.alert('工作');}
Worker.prototype.talk=function(){window.alert('工作交谈')}//覆盖父类函数

var worker=new Worker();

worker.doJob();
worker.talk(); //打印'工作交谈'
worker.description(); //打印 'jack 是 12 undefined'


//extJs继承

var Student=function(config){
//调用父类构造函数初始化数据,将父类构造函数中数据复制到子类中,config是传给初始化父类构造函数的参数,可以省略。
Student.superclass.constructor.call(this,'男');
/*从config复制函数或者属性给Student构造函数*/
Ext.apply(this,config);

}


//extend实现子类student继承父类people
Ext.extend(Student,People,{study:function(){window.alert('学习')},
talk:function(){window.alert('学习交谈')}
} //此对象中的属性,函数添加到子类的prototype原型对象中,或者覆盖父类prototype原型中的属性和函数。
);

var student=new Student({name:'xx',age:23});
student.talk();
student.walk();
student.description();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值