• js的面向对象编程


      给阳光网写了一些js代码,想进行oo封装。毕竟对于常用的方法需要整理归纳,oo是比较理想合适。

      参考了prototype的实现,感觉很不错,修改一下为:

      

            var generateClass = function(properties, baseclass) {
                
    var c = function() {
                    
    if (this.initialize) {
                        
    this.initialize.apply(this, arguments);
                    }
                };
                
                
    /**
                 * 类原型拓展
                 * @param {Object} methods
                 * @param {Object} spuerclass
                 
    */
                c.implement 
    = function(methods, spuerclass) {
                    
    if (spuerclass) {

                        
    var parent = new spuerclass();
                        
    for (property in parent) {
                            
    this.prototype[property] = parent[property];
                        }
                        c.base 
    = spuerclass.prototype;
                    }
                    
                    
    if (methods) {
                        
    for (property in methods) {
                            
    this.prototype[property] = methods[property];
                        }
                    }
                };
                
                c.implement(properties, baseclass);
                
                
    /**
                 * 类自身静态属性拓展
                 * @param {Object} methods
                 
    */
                c.extend 
    = function(methods) {
                    
    for (property in methods) {
                        
    this[property] = methods[property];
                    }
                };
                
                
    return c;
            };


        $O 
    = generateClass;

      使用也比较简单方便:

      var c1 = $O({

      name:''

      });

      var o1 = new c1();

      在此就不累述。

      有了这个,为阳光网方便实现了很多js。感觉上容易分析了。

  • 相关阅读:
    CF786E ALT
    CF704D Captain America
    [NOI2016]循环之美
    「PKUWC2018」猎人杀
    [HNOI2019]JOJO
    博客已转移
    $20200203$的数学作业
    20200202的数学作业
    NOIp 2016 选课 (DP)
    Luogu P2574 XOR的艺术 (线段树)
  • 原文地址:https://www.cnblogs.com/kathmi/p/1427585.html
Copyright © 2020-2023  润新知