在js中,子类如何调用父类中方法?如下图示:

JavaScript08

在js中,子类如何调用父类中方法?如下图示:,第1张

//子类Student

function Student(name,age,sex,phone){

//继承方法

Person.call(this,name,age)

//添加自己的属性

this.sex=sex

this.phone=phone

//添加自己的方法

this.say()

}

//继承父类的属性

for(var i in Person.prototype){

Student.prototype[i]=Person.prototype[i]

}

//重写父类方法

Student.prototype.say()

{

alert(this.phone+' 'this.sex)

}

<html>

<body>

<script>

var funA = function(){

var version = '1.0'

this.getVersion = function(){

return version

}

}

var funB = function(){

funA.call(this)

}

b = new funB()

alert(b.getVersion())

</script>

</body>

</html>

子类重写方法是在基类有此方法重写,那么声名一个子类的对象,调用的方法是子类的方法,

通过base转而调用父类中的方法,最终目的还是调用父类中的方法。

还有重写方法可以改变基类方法的作用,可以实现其他的效果,重写方法,和基类同名方法是两个不同实现的方法,

最主要你要分清楚 重写跟基类中的方法不一定实现同样的效果,还有基类也不一定知道派生类中是否重写了这个方法