18.设计模式
私有構造方法(不讓其它類來創建本類對象)
在本類中創建一個本類對象或向外提供一個創建本類對象的共有方法
餓漢模式
class Singleton {
//1,私有構造函數
private Singleton(){}
//2,創建本類對象
private static Singleton s = new Singleton();
//3,對外提供公共的訪問方法
public static Singleton getInstance() {
return s;
}
}
懶漢模式
class Singleton {
//1,私有構造函數
private Singleton(){}
//2,聲明一個本類的引用
private static Singleton s;
//3,對外提供公共的訪問方法
public static Singleton getInstance() {
if(s == null)
//線程1,線程2
s = new Singleton();
return s;
}
}
靜態常量
class Singleton {
private Singleton() {}
public static final Singleton s = new Singleton();//final 是最終的意思,被final 修飾的變量不可以被更改
}
1) 原理:通過繼承來實現適配器功能
2) 圖解
1.
1) 原理:通過組合來實現適配器功能
2) 圖解
1.
3) 實例講解:
我手中有個ps2插頭的設備,但是主機上只有usb插頭的插口,怎么辦呢?弄個轉換器,將ps2插頭轉換成為USB插頭就可以使用了。
接口Ps2:描述ps2接口格式
接口Usb:描述USB接口格式
類Usber:是接口Usb的實現類,是具體的USB接口格式
Adapter:用于將ps2接口格式轉換成為USB接口格式
1) 原理:通過抽象類來實現適配
2) 使用場景
1. 通常接口中有多個方法, 而程序中不一定所有的都用到, 但又必須重寫,這很繁瑣,適配器簡化了這些操作
3) 使用步驟舉例
1. 創建一個適配器類, 實現了監聽器接口, 所有抽象方法都重寫了, 但是方法全是空的
2. 適配器類需要定義成抽象的,因為創建該類對象,調用空方法是沒有意義的
3. 定義監聽器時繼承適配器, 只重寫需要的方法就可以了.
4) 圖解
1.
轉載于:https://www.cnblogs.com/River111/p/9716600.html
總結
- 上一篇: nodejs在cmd提示不是内部或外部命
- 下一篇: .NET 二维码生成(ThoughtWo