通过extends
来继承?
class Partent{
constructor(){
}
toString(){
}
}
class Son extends Parent{
contructor(){
super();
}
toString(){
return this.color+''+super.toString();
}
}
注意:
super
表示父类的构造函数,用来新建父类的this对象。子类在constructor
中必须调用super
方法,否则新建实例会报错。
子类自己的this对象,必须通过父类的构造函数完成塑造,得到与父类同样的实例属性和方法,然后对其进行加工,加上子类自己的实例属性和方法。如果子类没有定义constructor方法,super也会默认添加。
Object.getPrototyprOf()
可以从子类上获取父类。
super
详解
有俩种用法
- 当函数使用(只能用在子类的构造函数中)
代表父类的构造函数
子类内部的this是指向子类的,相当于parent.prototype.constructor.call(this)
- 当对象使用
在静态方法中,super指向父类,而不是父类的原型对象;在子类的静态方法中通过sper调用父类的方法中,方法内部的this指向当前的子类,而不是子类的实例。
????晕了