其實通俗的講類就是物件的模板,為了增強JS的OO特性,受mootoos框架啟發我們可以使用一個JSON物件來描述這個物件的模板。在這個範本中我們可以模擬實作私有成員,受保護成員,靜態成員。
這是一個在JS中模擬的類別定義語法,程式碼中Class是一個自訂函數,它接受兩個參數,第一個參數是類別名稱、第二個參數是一個JSON用來一個物件的模板。在這個JSON物件中其中欄位 "extend",,"initialize","static" 為一些預先定義關鍵字,所表示的意義與基於類別的傳統OO語言相似。字段accessabe用來描述一個物件成員的可訪問性,取值為("private","protected","public")在Class函數中會對這些關鍵字進行特殊處理,使其所修飾的成員具有相應的存取權限。
Class("Person" ,{ //继承 extend: Animal, //构造函数 initialize:function(name,sex){ this.name = name; this.sex = sex; Person.count++; }, //静态成员 static:{ count: { accessabe:"private", value: "" } }, //实例成员 age: {//私有属性成员 accessabe:"private", value:0 }, //公用属性 name: { accessabe:"public", value:"" }, sex:{ accessabe:"public", value: "" }, //方法 sleep: {//受保护方法 accessabe:"protected", value: function(){ } }, say: {//公用方法 accessabe:"public", value: function(){ retun (this.age-1) } } }); //调用 var xiaom = new Person("小明","男"); xiaom.age //私有属性不能访问 xiaom.sleep() //受保护方法不能访问 xiaom.say() //公用方法可以访问
以上是Javascript中什麼是私有成員、受保護成員、靜態成員實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!