1、类的创建和使用

  用一个具体的小案例来说明

// 1.创建类 class 创建一个 明星类
     class Star {
      //  类的共有属性放到 consturctor 里面
      constructor(uname,age) {
        this.name = uname;
        this.age = age
      }
      sing(song) {
        console.log(this.name+song);
        
      }
     }

    //  2.利用类创建对象 new
    let gjl = new Star('gjl',18);
    let gyy = new Star('gyy',19);
    console.log(gjl);   //gjl,18
    console.log(gyy);  //gyy,19
    // 1)、通过class 关键字创建类,类名按照习惯来定义 首字母大写吧
    // 2)、类里面有个 consturctor 函数,可以接受传递过来的参数,同时返回实例对象
    // 3)、 consturctor 函数 只要 new生成实例时,就会自动调用这个函数,如果我们不写这个函数,类也会生成这个函数

2、类的继承

  1)、利用extends 来继承

    class Father {
      constructor() {

      }
      money() {
        console.log(100);
        
      }
    }

    class Son extends Father {

    }
    var son = new Son();
    son.money(); //100

  2)、类中可以使用super函数调用父类的构造函数

    class Father {
      constructor(x,y) {
        this.x = x;
        this.y = y;
      }
      sum() {
        console.log(this.x + this.y);
        
      }
    }

    class Son extends Father {
      constructor(x,y) {
        super(x,y); // 调用了父类中的构造函数
      }
    }

    let son = new Son(1,2);
    son.sum();  // 3

  3)、再举个例子,说明一下super函数调用父类普通函数

    class Father {
      say() {
        return 'gjl'
      }
    }

    class Son  extends Father{
      say() {
        console.log(super.say()+ '的儿子');
      }
    }
    var son = new Son;
    son.say();   // gjl的儿子

3、子类继承父类方法的同时扩展自己的方法

  

class Father {
      constructor(x,y) {
        this.x = x;
        this.y = y;
      }
      sum() {
        console.log(this.x + this.y);
        
      }
    }

    class Son extends Father {
      consturctor (x,y) {
        this.x = x;
        this.y = y;
      }
      subtract() {
        console.log(this.x - this.y);
        
      }
    }

    let son = new Son(8,2);
    son.subtract();   //10
    son.sum()         //6

 

posted on 2020-05-27 10:12  codergjl  阅读(152)  评论(0编辑  收藏  举报