设计模式知识连载(5)---继承_1:子类的原型对象-类式继承

<body>

<h3>设计模式知识连载(5)---继承_1:子类的原型对象-类式继承</h3>
<p></p>

<script type="text/javascript">

    /**
    *   类式继承--案例1:
    */

    // // 声明父类
    // function SuperClass() {
    //  this.superValue = true ;
    // } ;

    // // 为父类添加共有方法
    // SuperClass.prototype.getSuperValue = function() {
    //  return this.superValue ;
    // } ;

    // // 声明子类
    // function SubClass() {
    //  this.subValue = false ;
    // }

    // // 继承父类
    // // 把父类的实例赋予给子类的原型prototype,这样就实现了继承
    // SubClass.prototype = new SuperClass() ;

    // // 为子类添加共有方法
    // SubClass.prototype.getSubValue = function() {
    //  return this.subValue ;
    // }

    // var subinstance1 = new SubClass() ;
    // var supervalue = subinstance1.getSuperValue() ;
    // var subvalue = subinstance1.getSubValue() ;
    // console.log('supervalue:', supervalue) ;
    // console.log('subvalue:', subvalue) ;
    // console.log('--------------------') ;
    // // 通过“instance”关键字来查看该对象是否是某个类的实例
    // console.log('subinstance1 instanceof(SuperClass):', subinstance1 instanceof(SuperClass)) ;
    // console.log('subinstance1 instanceof(SubClass):', subinstance1 instanceof(SubClass)) ;
    // console.log('SubClass instanceof(SuperClass):', SubClass instanceof(SuperClass)) ;
    // console.log('SubClass.prototype instanceof(SuperClass):', SubClass.prototype instanceof(SuperClass)) ;
    // console.log('subinstance1 instanceof(Object):', subinstance1 instanceof(Object)) ;


    /**
    *   类式继承--案例2:
    */

    // 声明父类
    function SuperClass() {
        this.books = ['JavaScript', 'HTML', 'CSS'] ;
    } ;

    // 声明子类
    function SubClass() {} ;

    // 继承父类
    SubClass.prototype = new SuperClass() ;

    var subinstance1 = new SubClass() ;
    var subinstance2 = new SubClass() ;

    console.log('subinstance2.books:', subinstance2.books) ;
    subinstance1.books.push('Java') ;
    console.log('subinstance2.books:', subinstance2.books) ;

    /**
    *   缺陷:
    *   1、修改其中一个实例,会影响另一个实例,
    *   2、无法向父类传递参数
    */
</script>

</body>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值