• 用javascript实现完全的类(private、pubulic等)


      js是面向对象的,但是其不像java一样完全的面向对象,但是利用其灵活性,我们可以使用它进行高度的模拟,来看下面的代码:

    function Student(name){
    			this.name=name;//public变量
    			var id=Math.random()*100; //private变量
    			function setId(newId){
    				id=newId;
    			}//private方法
    			var that=this;
    			this.getId=function(){
    				///
    			}//特权方法
    		}
    		Student.prototype.getName=function(){
    			return this.name;
    		}//public方法
    

      是的,通过上面的方法便可以模拟出一个标准的类。ok,我们总结一下:

    • 私有变量 在对象内部使用'var'关键字来声明,而且它只能被私有函数和特权方法访问。
    • 私有函数 在对象的构造函数里声明(或者是通过var functionName=function(){...}来定义),它能被特权函数调用(包括对象的构造函数)和私有函数调用。
    • 特权方法 通过this.methodName=function(){...}来声明而且可能被对象外部的代码调用。它可以使用:this.特权函数() 方式来调用特权函数,使用 :私有函数()方式来调用私有函数。
    • 公共属性 通过this.variableName来定义而且在对象外部是可以读写的。不能被私有函数所调用。
    • 公共方法 通过ClassName.prototype.methodName=function(){...}来定义而且可以从对象外部来调用。
    • 原型属性 通过ClassName.prototype.propertyName=someValue来定义。
    • 静态属性 通过ClassName.propertyName=someValue来定义。(也就工具属性和方法)
    • 我认为可以简单的把privileged方法简单的看成是构造函数里的public方法,因为privileged方法可以被外界和public方法访问, 而它自身又可以访问private变量。
  • 相关阅读:
    原型设计工具 SketchFlow
    Vs2010架构设计层图(Layer Diagram)
    javascript in Visual Studio
    COM应用总结补充【COM+】
    WMI介绍、WQL
    Windows Azure Platform AppFabric 3/3
    Windows脚本 实例 3/4
    Silverlight Training
    一个很好的sliverlight站点
    建模形式构建Zend Framework应用
  • 原文地址:https://www.cnblogs.com/dunken/p/4368784.html
Copyright © 2020-2023  润新知