zoukankan      html  css  js  c++  java
  • inheritCombination.js

    // 组合继承
    // 其基本思路是使用原型链实现对原型属性和方法的继承,而通过借用构造函数来实现对实例属性的继承
    
    function Person(name){
      this.name = name;
      this.friends = ["Jack","John","Kim"];
    }
    Person.prototype.getName = function(){
      console.log(this.name);
    }
    function SuperPerson(name,sex){
     //继承Person
     Person.call(this,name);/*第二次调用父类型的构造函数,在实例上又创建了一次属性name和frieds,屏蔽第一次调用时创建的*/
     //实例属性
     this.sex = sex;
    }
    SuperPerson.prototype = new Person();//重写原型,第一次调用父类型的构造函数
    SuperPerson.prototype.constructor = SuperPerson;
    //添加新方法
    SuperPerson.prototype.getSex = function(){
    console.log(this.sex);
    };
    var Tom = new SuperPerson("Tom","man");
    Tom.friends.push("Amy");
    console.log(Tom.friends);// ["Jack", "John", "Kim", "Amy"]
    Tom.getName();// Tom 
    Tom.getSex();// man
    
    var David = new SuperPerson("David","man");
    console.log(David.friends);// ["Jack", "John", "Kim"]
    David.getName();// David
    David.getSex();// man 
  • 相关阅读:
    blktrace 梁斌说
    线索二叉树
    Boost库中文文档
    STL中的equal函数
    HDU3661_assignments_活动分配_贪心
    转:数据结构小结
    HDU2273_车通过路口
    C++之lexicographical_compare
    HDU1671_Phone List
    HDU2277_变色球
  • 原文地址:https://www.cnblogs.com/cynthia-wuqian/p/4953735.html
Copyright © 2011-2022 走看看