模板設計模式 抽象類的實際應用

2021-08-21 22:12:02 字數 1180 閱讀 2017

抽象類的最大特點在於強制規定了子類的實現結構,除了這個特點以外,抽象類更多情況下起到乙個模板的作用

下面舉乙個例子:

人 = 吃飯 + 睡覺 + 工作 ;

豬 = 吃飯 + 睡覺 ;

機械人 = 吃飯 + 工作 ;

定義行為類

abstract class action

}// 不確定具體實現,但是行為應該定義好

public

abstract

void

eat() ;

public

abstract

void

sleep() ;

public

abstract

void

work() ;

}

定義子類實現

class

person

extends

action

public

void sleep()

public

void work()

}class

pigextends

action

public

void sleep()

public

void work()

}class

robot

extends

action

public

void sleep()

public

void work()

}

定義具體實現

public

class test

public

static

void

fun(action action)

}

抽象類在實際的使用過程中會定義一些固化的模式,它只能接收幾種特定的指令,但是每種指令的具體實現由子類

完成,父類只給出了行為的約定。

**最具有代表性的就是後面要學習的servlet

總**

總結:

1. 抽象類雖然定義了子類必須要做的事情,但是抽象類依然會有單繼承侷限。

2. 抽象類的使用必須要通過子類進行物件例項化處理。

抽象類應用 模板模式

公司的專案中有乙個這樣需求,客戶要求對不同的資訊進行匯出功能,如使用者資訊 商品資訊 訂單資訊等等,並且要求數量太大的匯出要進行非同步處理,專案中就採用了模板模式進行了處理。需求確定了,解決方法也確定了,那我們先來看一下模板模式的定義 定義乙個操作中的演算法的框架,而將一些步驟延遲到子類中,使得子類...

抽象類 模板方法設計模式

一 抽象類的應用 1 概念 當多個類存在相同的功能時,我們就可以把這些功能提出出來,單獨封裝在乙個類裡面,只提出方法名,不提出方法實體就是功能的主體部分不同,我們進行向上抽取,只抽取功能的定義部分,不抽取功能的主體。2 abstract,抽象的,可以修飾類和方法,被修飾的方法只能有方法名,沒有方法實...

抽象類的模板方法設計模式

一 前言 抽象類體現的就是一種模板模式的設計,抽象類作為多個子類的通用模板,子類在抽象類的基礎上進行擴充套件 改造,但子類總體上會保留抽象類的行為方式。二 模板方法能解決的問題 1 當功能內部一部分實現是確定的,一部分實現是不確定的。這時可以把不確定的部分暴露出去,讓子類去實現。2 編寫乙個抽象父類...