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方法,因此会执行
  • 相关阅读:
    車(rook)
    那些年,我们学过的文化课
    皇后(queen)
    蚂蚁运输(ant)
    [Z]CS权威会议
    [Z] 北大一牛人生物转申CS的经历
    TLS协议扫盲(握手,非对称加密,证书,电子签名等)
    关于SSE的一些资料
    Java下LDAP操作的资料
    [Z] Windbg以及vs debug使用
  • 原文地址:https://www.cnblogs.com/xhhha/p/3344807.html
Copyright © 2011-2022 走看看