设计模式知识连载(6)---继承_2:创建即继承-构造函数继承

来源:互联网 发布:淘宝达人淘在哪里看 编辑:程序博客网 时间:2024/04/30 21:18
<body><h3>设计模式知识连载(6)---继承_2:创建即继承-构造函数继承</h3><p></p><script type="text/javascript">    /**    *   构造函数继承--案例1:    */    // 声明父类    function SuperClass(id) {        // 引用类型共有属性        this.books = ['JavaScript', 'HTML', 'CSS'] ;        // 值类型共有属性        this.id = id ;    } ;    // 父类声明原型方法    SuperClass.prototype.showBooks = function() {        console.log(this.books) ;    } ;    // 声明子类    function SubClass(id) {        // 继承父类        // 构造函数式继承的精华        SuperClass.call(this, id) ;    } ;    var subinstance1 = new SubClass(10) ;    var subinstance2 = new SubClass(20) ;    console.log('subinstance1.books:', subinstance1.books) ;    console.log('subinstance1.id:', subinstance1.id) ;    console.log('subinstance2.books:', subinstance2.books) ;    console.log('subinstance2.id:', subinstance2.id) ;    // subinstance1.showBooks() ;   // 报错:subinstance1.showBooks is not a function    subinstance1.books.push('Java') ;    console.log('subinstance1.books:', subinstance1.books) ;    console.log('subinstance2.books:', subinstance2.books) ;    /**    *   缺陷:    *   这样创建出来的每个实例都会单独拥有一份而不能共用,    *   因此就违背了代码的复用原则    *       */</script></body>
阅读全文
0 0