zoukankan      html  css  js  c++  java
  • 继承

    ES6之前,并没有给我们提供extends继承。我们可以通过构造函数+原型对象模拟实现继承,被称为组合继承

    1、借用构造函数继承

    核心原理:通过call()把父类型的this指向子类型的this,这样就可以实现子类型继承父类型的属性。

    继承属性

    // 借用父构造函数继承属性
    function Father(uname, age) {
      // this 指向父构造函数的对象实例
      this.uname = uname;
      this.age = age;
    }
    function Son(uname, age, score) {
      // this指向子构造函数的对象实例
      Father.call(this, uname, age);
      this.score = score;
    }
    var son = new Son('刘德华', 18, 100);
    console.log(son);

    继承方法

    // 1.父构造函数
    function Father(uname, age) {
      // this 指向父构造函数的对象实例
      this.uname = uname;
      this.age = age;
    }
    Father.prototype.money =function() {
      console.log(100000);
    }
    // 2. 子构造函数
    function Son(uname, age, score) {
      // this 指向子构造函数的对象实例
      Father.call(this, uname, age);
      this.score = score;
    }
    Son.prototype = new Father();
    // 如果利用对象的形式修改了原型对象,别忘了利用constructor 指回原来的构造函数
    Son.prototype.constructor = Son;
    // 这是子构造函数专门的方法
    Son.prototype.exam = function() {
      console.log('孩子要考试');
    }
    var son = new Son('刘德华', 19, 100);
    console.log(son);

  • 相关阅读:
    linux ssh免密
    flink WaterMark之TumblingEventWindow
    flink 并行计数器实现
    VSCode删除重复的空行
    Gnome添加Open with Code菜单
    Linux下设置VSCode为默认的文本编辑器
    Jupyter Notebook添加Ruby支持
    Linux下无法运行Color picker
    oh-my-zsh: bracketed-paste-magic:zle:47: not enough arguments for -U
    Vim auto-pairs设置选项
  • 原文地址:https://www.cnblogs.com/guwufeiyang/p/13125689.html
Copyright © 2011-2022 走看看