如ClassA.prototype = new ClassB().
就可以说ClassA是ClassB的子类,同时ClassB是ClassA的父类
js中定义一个class其实就是一个function,如
var ClassA = function() {
}
====怎么最近好像老有人问这个?
//子类Studentfunction 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)
}
子类重写方法是在基类有此方法重写,那么声名一个子类的对象,调用的方法是子类的方法,通过base转而调用父类中的方法,最终目的还是调用父类中的方法。
还有重写方法可以改变基类方法的作用,可以实现其他的效果,重写方法,和基类同名方法是两个不同实现的方法,
最主要你要分清楚 重写跟基类中的方法不一定实现同样的效果,还有基类也不一定知道派生类中是否重写了这个方法