zoukankan      html  css  js  c++  java
  • 继承--(通过原型链实现)

    JS是没有继承这一说法的,但是继承在C#中是十分重要的,那么我们怎么写JS代码,实现继承呢?

            可以通过构造函数来实现继承,具体代码如下:
     1          function Dog(name,age) {
     2             this.name = name;
     3             this.age = age;
     4  
     5             //父类的prototype原型,
     6             Dog.prototype.bark = function () {
     7                 alert( this.name + "," + this.age);
     8             }
     9         }
    10  
    11         //02.继承   Dog,相当于子类
    12         function SmallDog(name,age,toyName) {
    13             Dog.call( this, name, age, toyName);
    14             this.toyName = toyName;
    15         }
    16         //02.1继承父类的原型
    17         SmallDog.prototype = new Dog();
    18         //02.2追加子类的自己的成员
    19         SmallDog.prototype.playToy = function () {
    20             alert( "我是小狗,子类,我玩的玩具" +this.toyName);
    21         }
    22  
    23         //var d1 = new Dog("xhh", 12);
    24         //var d2 = new Dog("02", 12);
    25         //var d3 = new Dog("03", 12);
    26         ////如何判断3个dog对象里面的bark属性是否相等
    27         //alert(d1.bark == d2.bark);
    28  
    29         //d1.bark();
    30  
    31         var sd1 = new SmallDog("小狗1", 1, "骨头" );
    32         sd1.bark(); //子类SmallDog没有bark方法,但是父类Dog有,因此会调用父类的bark方法,执行顺序先找子类有没有bark,如果没有,再找父类,如果没有,再找object,再没有就报错
    33         sd1.playToy(); //子类SmallDog有playToy方法,因此会执行
  • 相关阅读:
    AtCoder ABC154 F
    题解 LA4390
    题解 LA4064
    题解 UVa11529
    【题解】洛谷 P6295 有标号 DAG 计数【生成函数 多项式】
    NOIP 2020 自闭记 暨 后期计划
    【CF246E】Blood Cousins Return【dsu on tree】
    【CF208E】Blood Cousins【dsu on tree】
    【CF570D】Tree Requests【dsu on tree】
    dsu on tree 学习笔记
  • 原文地址:https://www.cnblogs.com/xhhha/p/3344807.html
Copyright © 2011-2022 走看看