zoukankan      html  css  js  c++  java
  • javaScript 对象继承

    7.继承

    7.1原型链

    function superType(){

                                this.property = true;

                                this. superA = 12;

                         }

    superType.prototype. superA  = 23;

                         superType.prototype.getSuperValue = function(){

                                return this.property;

                         }

                         function subType(){

                                this.subproperty

                         }

                         subType.prototype = new superType();  // subType的原型被重新写,此刻super中的属性都变成subType原型中属性,那么superType的属性值被子类型的实例共享

                         subType.prototype.getSubValue = function(){

                                return this.subproperty;

                         }

                         var  a = new subType();

                         alert(a.superA) ; //12

                         alert(a.getSuperValue);  //true

    这是一个原型链的继承。subType的原型被重新写,所以subype的实例就要写在他的后面。子类型可以重写超类型中的方法,也可以添加超类型中不存在的方法,但是都要放在重写原型的语句之后。

    在通过原型链实现继承的情况下,搜索过程就得沿着原型继续向上:先搜索子类型的实例,再搜索子类型的原型,再搜索超类型的实例,最后搜索超类型的原型。

    缺点:在创建子类型的实例情况下,不能向超类型的构造函数中传递参数;超类型中属性值被子类型实例共享。

    7.2 借用构造函数

    function SuperType(name){

                                this.name = name;

                         }

                         SuperType.prototype.sex = 1;

                         function SubType(name){

                                SuperType.call(this,name);

                                this.age = 29;

                         }

                         var instance = new SubType("tom");

                         alert(instance.name); //tom

                         alert(instance.sex);  //undefined

                  缺点:在超类型的原型中定义的方法和属性对于子类型都是不可见的。

    7.3 组合继承

    将原型链和借用构造函数组合到一块。使用原型链实现对原型属性和方法的继承,通过借用构造函数来实现对实例属性的继承。

  • 相关阅读:
    解决DataGridView绑定List后不能排序的问题
    最新的皮肤下载
    我收录的名言
    HttpRequest访问Https带有证书并使用WSDL文档生成代理类方案(2)
    最新的Functions 类
    华兴软通短信接口简单使用WebServices版
    最新的SqlHelper 类
    闲来没事写个记事本玩玩!!!
    "基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系"证书验证失败的解决过程(3)
    FCK配置
  • 原文地址:https://www.cnblogs.com/qduanlu/p/2818115.html
Copyright © 2011-2022 走看看