js函数(类)的继承机制的设计与实现(二)

  • 为了使得上一篇文章“js函数(类)的继承机制的设计与实现”中的继承模板更加规范,本文对其进行了修改。修改结果如下:
//js函数继承机制实现的模板规范。
            //没有继承任何函数的函数规范定义
            function parent_function(){
                var obj_this = this;
                obj_this.instantiate = function(){
                    obj_this = new parent_function();
                    obj_this.assign(obj_this);
                    return obj_this;
                };
                obj_this.assign = function(obj){
                    obj_this = obj;
                };
                /...
                your code are written here
                用obj_this完全代替this指针
                .../
                return obj_this;
            }

            //继承了父函数的子函数的函数规范定义
            function your_function(){
                var obj_this = this;
                obj_this.instantiate = function(){
                    your_function.prototype = parent_function().instantiate();//继承父函数
                    your_function.prototype.construct = your_function;
                    obj_this = new your_function();
                    obj_this.assign(obj_this);//将本身赋值给自己包含的obj_this,相当于obj_this.obj_this = obj_this

                    return obj_this;
                };
                obj_this.assign = function(obj){//将本身赋值给自己包含的obj_this,相当于obj_this.obj_this = obj_this

                    obj_this = obj;
                };

                /...
                your code are written here
                用obj_this完全代替this指针,并可通过obj_this.来访问父函数和本函数的所有公有属性和方法
                .../

                return obj_this;
            }
  • 和之前的模板规范相比,本次改进,使得函数(类)中可以用obj_this来完全替代this指针,保证了更高的代码一致性和可阅读性。

  • 欢迎大家提出意见。

猜你喜欢

转载自blog.csdn.net/u012409928/article/details/51307179