(隨筆於js設計模式第五章)
物件,函式有時候感覺亂亂的,時而鍵值對,時而賦值,需要總結一下。
私有屬性
講到私有屬性,第一開始想到的居然是作用域鏈,閉包,js中沒有私有成員的概念,有私有變數的概念(包括函式引數,區域性變數,函式內定義的方法),即函式內部定義的變數都是私有變數,外部無法訪問
就物件而言:
var myobj=
}myobj.prop;//公有
myobj.getprop();//公有
建構函式建立物件:
function creobj()
}var toy=new creobj();
toy.name;
toy.getname();
但是內部用var定義的變數,和函式宣告,外部無法取到,只能用特權方法(訪問私有成員的公共方法)
靜態成員
jq裡就有靜態方法例項方法。例項方法在jq原型上定義。靜態成員綁在jq物件上。
靜態屬性方法是乙個例項到另乙個例項都不改變的屬性和方法。例項方法需要建立例項呼叫,靜態方法直接函式呼叫。
函式不能呼叫例項方法,例項物件不能呼叫靜態方法。
靜態成員分為公有和私有
私有靜態成員指:同一建構函式建立的物件共享,建構函式外部不能訪問該成員(函式內var定義的屬性)
function creobj();
creobj.isshy=function();
creobj.prototype.setshy=function(price)
靜態成員可以用「類名.成員名」定義,
總之,針對物件例項而言,var私有的,function宣告是私有的,this是共有的
C 封裝(成員屬性私有化)
c 封裝 成員屬性私有化 include include using namespace std 成員屬性設定為私有 1 可以自己控制讀寫許可權 2 對於寫可以檢測資料的有效性 class person 獲取姓名 string getname 獲取年齡 可讀可寫 如果想修改,年齡的範圍必須是0 15...
靜態成員 靜態成員函式
reference to non static member function must be called sort numbers.begin numbers.end cmp 做演算法題的時候遇到的乙個問題,和成員函式相關,這裡記錄一下備忘。首先上 class solution string p...
python 私有屬性和視為私有屬性
python模組中的視為私有屬性 總的來說,python中有 幾種特殊的屬性 在python模組中,我們經常會見到 x 其中後面兩種 x 是習慣上的私有變數,我們不應該在外部使用它,而是應該通過呼叫內部函式來使用,但這裡是不應該而不是不能,所以要靠我們自覺遵守這個標準,另外,在自定義模組的時候,也要...