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

  • 相关阅读:
    Spring Boot中的JSON技术
    Spring Boot中编写单元测试
    如何保证事务方法的幂等
    定时重试线程池
    多线程导致事务失效-记一次性能优化
    自己实现一个简单的数据库事务
    服务器错误码国际化
    spring自定义自动配置注解
    springboot中如何启动tomcat
    用grep来查询日志
  • 原文地址:https://www.cnblogs.com/guwufeiyang/p/13125689.html
Copyright © 2011-2022 走看看