40條提過使用接口而不是類做爲參數的類型,更通常化框架
- 使用接口而不是類來引用對象
- 若是有合適的接口類型存在,那麼對於參數、返回值、變量和域都應該使用接口類型進行聲明
以下,Vector 是List 接口的一個實現,使用時請以下對象
若是沒有合適的接口類型,請使用類引用對象blog
- 好比 值類
- 若是確實沒有相關聯的接口,只能使用類引用對象
不存在適當接口類型第二個狀況接口
- 對象屬於框架,框架的基本實現是類
- 即使如此,優先使用抽象類
不存在適當接口類型最後一種狀況變量
總結:擴展
- 給定對象是否有適合的接口
- 有:使用接口
- 無:使用適當的基本抽象類