裝飾和繼承的區別

2021-09-30 10:30:45 字數 692 閱讀 4455

裝飾和繼承的區別

/*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 但是隨著社會的進步,社會矛盾的變化。由人民對美...

介面和繼承的區別

當使用繼承的時候,主要是為了不必重新開發,並且在不必了解實現細節的情況下擁有了父類我所需要的特徵。但是很多時候,乙個子類並不需要父類的所有特徵,它可能只是需要其中的某些特徵,但是由於通過繼承,父類所有的特徵都有了,需要的和不需要的特徵同時具備了。而那些子類實際上不需要用到的,有時候甚至是極力避免使用...