zoukankan      html  css  js  c++  java
  • 寄生组合式继承

     1 //寄生组合式继承
     2 function object(o) {
     3     function F() {}
     4     F.prototype = o;
     5     return new F();
     6 }
     7 
     8 function inheritPrototype(subType, superType) {
     9     var prototype = object(superType.prototype);
    10     prototype.constructor = subType;
    11     subType.prototype = prototype;
    12 }
    13 
    14 function SuperType(name) {
    15     this.name = name;
    16     this.colors = ["red", "blue", "green"];
    17 }
    18 
    19 SuperType.prototype.sayName = function() {
    20     console.log(this.name);
    21 };
    22 
    23 function SubType(name, age) {
    24     SuperType.call(this, name);
    25     this.age = age;
    26 }
    27 
    28 inheritPrototype(SubType, SuperType);
    29 
    30 SubType.prototype.sayAge = function() {
    31     console.log(this.age);
    32 };
    33 
    34 var instance1 = new SubType("Nicholas", 29);
    35 instance1.colors.push("black");
    36 console.log(instance1.colors);
    37 instance1.sayName();
    38 instance1.sayAge();
    39 
    40 var instance2 = new SubType("Greg", 27);
    41 console.log(instance2.colors);
    42 instance2.sayName();
    43 instance2.sayAge();
  • 相关阅读:
    Vim学习指南
    frambuffer lcd.c
    工控显示界面
    ubuntu nfs 开发板
    java初学1
    使用多态来实现数据库之间的切换
    Space Shooter 太空射击
    CandyCrush 糖果传奇
    进制转换以及原码、反码、补码
    winform小知识
  • 原文地址:https://www.cnblogs.com/qzsonline/p/2476826.html
Copyright © 2011-2022 走看看