SOURCE

// 面向对象三大特性: 封装、继承、多态
//  一、封装
class Point {
  constructor(x, y) {
    this.x = x;
    this.y = y;
  }

  toString() {
    return ` ${this.x}${this.y} `;
  }
}
const sum = new Point(7,8)
console.log(sum.toString()) // 78

console.log(typeof Point)  // function

// 二、继承 extends 继承父类
class NewPoint extends Point {
    toNum() {
        return +this.x+this.y
    }
}

const sum1 = new NewPoint(9,9)
console.log(sum1.toNum())  // 18
console.log(sum1.toString())  // 99

// 三、多态
class Points extends Point {
     constructor(x,y) {
        //  super() 初始化this
         super(x,y)
         console.log(this.x,this.y)
     }

     toString(){
         return `${super.toString()}`
     }

}
const sum2 = new Points(7,77)
console.log(sum2.toString(7,77))
console 命令行工具 X clear

                    
>
console