裝飾和繼承的區別
/*myreader //專門用於讀取資料的類
|--mytextreader
|--mybuffertextreader
|--mymediareader
|--mybuffermediareader
|--mydatareader
|--mybufferdatareader
class mybufferreader
mybufferreader(mymediareader media){}
}上面這個類擴充套件性很差
找到其引數的共同型別。通過多肽的形式。可以提高擴充套件性。
class mybufferreader extends myreader
}myreader //專門用於讀取資料的類
|--mytextreader
|--mymediareader
|--mydatareader
|--mybufferreader
裝飾模式比繼承要靈活,避免了繼承體系臃腫。
而且降低 了類於類之間的關係。
裝飾類因為增強已有物件,具備的功能和已有的是相同的,只不過提供了 更強的功能。
所以裝飾類和唄裝飾類通常是都屬於乙個體系中
從繼承結構變成了組合機構
* */
public class myreader
裝飾設計模式和繼承的區別
裝飾設計模式 當想要對已有的物件進行功能增強時,可以定義類,將已有物件傳入,基於已有的功能,並提供加強功能。那麼自定義的該類稱為裝飾類。裝飾類通常會通過構造方法接收被裝飾的物件。並基於被裝飾的物件的功能,提供更強的功能。裝飾和繼承 myreader 專門用於讀取資料的類。mytextreader m...
裝飾設計模式 繼承的區別
一 裝飾設計模式 對一組物件的功能進行增強時,就可以使用該模式進問題的解決。對事物的本質不發生改變,只對它進行增強。例如 買房子,買了毛坯房,進行裝修後,功能增加 家庭更美,但是它的本質還是房子。二 演示 1 以前人出去吃飯,就是單純的吃個飯。演示 2 但是隨著社會的進步,社會矛盾的變化。由人民對美...
介面和繼承的區別
當使用繼承的時候,主要是為了不必重新開發,並且在不必了解實現細節的情況下擁有了父類我所需要的特徵。但是很多時候,乙個子類並不需要父類的所有特徵,它可能只是需要其中的某些特徵,但是由於通過繼承,父類所有的特徵都有了,需要的和不需要的特徵同時具備了。而那些子類實際上不需要用到的,有時候甚至是極力避免使用...