手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >js模拟类继承小例子
js模拟类继承小例子
摘要:复制代码代码如下://使用原型继承,中间使用临时对象作为Child的原型属性,临时对象的原型属性再指向父类的原型,//防止所有子类和父类原型...

复制代码 代码如下:

//使用原型继承,中间使用临时对象作为Child的原型属性,临时对象的原型属性再指向父类的原型,

//防止所有子类和父类原型属性都指向通一个对象.

//这样当修改子类的原型属性,就不会影响其他子类和父类

function extend(Child, Parent) {

var F = function(){};

F.prototype = Parent.prototype;

Child.prototype = new F();

Child.prototype.constructor = Child;

Child.base = Parent.prototype;

}

function Parent(name)

{

this.aa = 123;

this.getName = function() {return name;}; //使用闭包模拟私有成员

this.setName = function(value){name=value;};

}

Parent.prototype.print = function(){alert("print!");};

Parent.prototype.hello = function()

{

alert(this.getName() + "Parent")

};

function Child(name,age)

{

Parent.apply(this, arguments);//调用父类构造函数来继承父类定义的属性

this.age = age;

}

extend(Child,Parent); //继承Parent

Child.prototype.hello = function() //重写父类hello方法

{

alert(this.getName() + "Child");

Parent.prototype.hello.apply(this,arguments); //调用父类同名方法

};

//子类方法

Child.prototype.doSomething = function(){ alert(this.age + "Child doSomething"); };

var p1 = new Child("xhan",22);

var p2 = new Child("xxx",33);

p1.hello();

p2.hello();

p1.doSomething(); //子类方法

p1.print(); //父类方法

alert(p1 instanceof Child); //true

alert(p1 instanceof Parent);//true

【js模拟类继承小例子】相关文章:

javascript函数特点实例

Nodejs中session的简单使用及通过session实现身份验证的方法

js比较日期大小的方法

javascript实现模拟时钟的方法

如何实现浏览器上的右键菜单

可拖动窗口,附带鼠标控制渐变透明,开启关闭功能

Node.js重新刷新session过期时间的方法

Javascript节点关系实例分析

javaScript中slice函数用法实例分析

js控制excel打印完美解决方案

精品推荐
分类导航