super 和 extends方法使用:
使用分四步 :
一、创建实例对象并保存到gameMap
二、把值传给构造函数
三、调用此方法
四、通过打印使用数据
class Father{
constructor(x,y){
this.x=x;//3、通过super把值传过来
this.y=y;
}
sum(){
console.log(`{this.x+this.y}`);//4、sum方法使用数据
}
}
class Son extends Father{
constructor(x,y){
/* this.x=x;
this.y=y; 把实例对象的参数传给构造函数的形参 把参数赋值 this指向的是x*/
super(x,y)//2、super调用了父类的constructor这个构造函数 并把值传给了父类;
}
}
var son = new Son(1,3)//1、实例化对象 把(1,3)赋值给son对象的constructor(x,y)
var son1 =new Son(432,55)//再次实例化对象
son.sum();//首先调用,才能使用
son.sum1();
//就近原则
class Father{
say(){
return '我是爸爸';
}
}
class Son extends Father {
say(){
console.log(`${super.say()}的儿子`);//super.say()调父类中的普通函数
}
}
let son = new Son()
son.say()
class Father{
constructor(x,y){
this.x=x;
this.y=y;//6、this指向实例
}
sum(){
console.log(`${this.x+this.y}`); //7、输出
}
}
//子类继承父类加法方法的同时 扩展减法方法
class Son extends Father{
constructor(x,y){
super(x,y)//super在子类前面调用父类的构造函数 4 、把(x,y)传给父类的构造函数
this.x=x;
this.y=y//2、this接收 ,指向的是构造函数里的(xy)也就是实例对象
}
subtract(){
console.log(this.x-this.y); //3、输出
}
}
var son = new Son(34,43) //1、把值传给Son的构造函数(x,y)形参
son.subtract();
son.sum()//sum方法使用数据