zoukankan      html  css  js  c++  java
  • JavaScript:inherits

    网上一查,肯定搜索到继承的文章真心不少。我这里就只说一下自己常用的方式:

    通常 在编写一个类的做法是,在构造函数里声明字段,在prototype里指定方法。

    //step1: 在子类的构造器里法里实例call ,apply 来继承字段
    //step2: 类声明完毕后,使用inheritsPrototype来继承方法

    function
    inheritsPrototype(clazz, baseClazz) { var clazzPrototype = clazz.prototype; function F() {}; F.prototype = baseClazz.prototype; clazz.prototype = new F(); for (var prop in clazzPrototype) { clazz.prototype[prop] = clazzPrototype[prop]; } // clazz.prototype.constructor = clazz; // clazz.superClass = baseClazz; }

    demo:

            
    
                function inheritsPrototype(clazz, baseClazz) {
                    var clazzPrototype = clazz.prototype;
                    function F() {};
                    F.prototype = baseClazz.prototype;
                    clazz.prototype = new F();
    
                    for (var prop in clazzPrototype) {
                        clazz.prototype[prop] = clazzPrototype[prop];
                    }
                }
    
    
                function A(id, name){
                    this.id = id;
                    this.name = name;
                }
    
                A.prototype.show = function (){
                    console.log(this.id, this.name);
                }
            
                function B(id, name, age){
                    A.call(this, id, name);  // 继承字段
                    this.age = age;
                }
    
                inheritsPrototype(B, A);   // 继承方法
                
                var objB = new B("x01", "name1", 12);
                objB.show();
  • 相关阅读:
    第十次Java作业
    第七周Java作业
    第十二周作业
    上机练习
    第十一周作业
    第十一周上机练习
    第十周上机练习
    第九周上机作业
    第八周作业
    第八周上机作业
  • 原文地址:https://www.cnblogs.com/f1194361820/p/7447587.html
Copyright © 2011-2022 走看看