首页 > 代码库 > js中的子类继承父类的方法和属性

js中的子类继承父类的方法和属性

上次讲了个简单的继承,这次 咱们讲个稍微复杂点的,那就是让子类继承父类的属性和方法,假设人 (Person)是父类,工人(Worker)是子类,让worker继承person的属性和方法:
父类:
function Person(name,age)
{
        this.name=name;
        this.age=age;
}

Person.prototype.showName=function()
{
        alert(this.name);
}

function worker(name,age,job)
{
        person.call(this,name,age)        //这里用call方法继承person的name属性和age方法
        worker.job=job;
}

worker.prototype=new Person()        //通过new Person(),返回一个person对象,这个person对象有showName方法,所以,worker类也就继承了Person类的showName方法
worker.prototype.showJob=function()
{
        alert(this.job)
}
var oW=worker(‘kate‘,‘23‘,‘打杂‘);
alert(oW.name)        //这个地方,给worker设置name属性,而是给他的父级加了name属性,可是还是弹出了kate,说明他继承了父级的name属性
alert(oW.age)        //这个地方也是继承了父级的age属性
oW.showName()                //可以执行,说明继承了person的方法
oW.showJob()                //只有worker类才有这个方法,person类没有
大家有啥不明白的,可以谁便发问哈