日期:2014-05-16 浏览次数:20290 次
//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();