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);

  • 相关阅读:
    Dictionary集合 字典
    装箱和拆箱
    List< >泛型集合
    Hashtable 键值对集合
    File 类 的基本操作
    简体转换繁体
    ArrayList集合长度的问题
    ArrayList  集合
    里式转换
    字符串中常用的方法
  • 原文地址:https://www.cnblogs.com/guwufeiyang/p/13125689.html
Copyright © 2011-2022 走看看