SWT shell的構造方法
影響深遠,是值得我們借鑒的編程模式,采用了如下的形式:
new MyClass(MyClass.A | MyClass.B | MyClass.C)
其中,對于MyClass.A定義為 1<<1,MyClass.B 定義為 1<<2 以此類推。
在我們都知道,在java中整形是4個字節,那么除去符號位,還可以有31bit用來加入各種各樣的開關,
當31個條件都滿足時,將得到Integer.MAX_VALUE.這樣保證了傳入的是一個整型的數,而在構造方法內部可以這樣判斷:
public MyClass(int types){
if(types & MyClass.A != 0){
//表示在A條件被設定時的情況

}
}
這種模式主要用來配置當一個類中的多個屬性都是“開關型”的變量 —— 即位布爾型時的情況,從用
戶接口的角度,增加了利用接口開發程序人員所編寫程序的可讀性,因此當所編寫的程序僅供自己使用
時,我個人不推薦這種方法;而對于相反的情況,則強烈推薦。另一方面來說,這種編程模式提高了程
序的運行效率。
@2008 楊一. 版權所有. 保留所有權利