首页 > 代码库 > 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类没有
大家有啥不明白的,可以谁便发问哈
父类:
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类没有
大家有啥不明白的,可以谁便发问哈
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。