中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

易語言可以做網(wǎng)站后端東莞市優(yōu)速網(wǎng)絡(luò)科技有限公司

易語言可以做網(wǎng)站后端,東莞市優(yōu)速網(wǎng)絡(luò)科技有限公司,域名wordpress,哪些門戶網(wǎng)站可以做推廣模式定義 定義一個(gè)操作中的算法的骨架 (穩(wěn)定),而將一些步驟延遲(變化)到子類中。Template Method使得子類可以不改變(復(fù)用)一個(gè)算法的結(jié)構(gòu)即可重定義(override 重寫)該算法的某些特定步驟。 …

模式定義

定義一個(gè)操作中的算法的骨架 (穩(wěn)定),而將一些步驟延遲(變化)到子類中。Template Method使得子類可以不改變(復(fù)用)一個(gè)算法的結(jié)構(gòu)即可重定義(override 重寫)該算法的某些特定步驟。
?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?——《設(shè)計(jì)模式》GoF

理解:模板方法就是將固定算法流程實(shí)現(xiàn)放在父類中實(shí)現(xiàn),將固定流程中的可能變化的步驟定義為虛方法,子類可重寫(實(shí)現(xiàn)晚綁定)。對于不變的步驟,和算法的實(shí)現(xiàn)流程,子類不必關(guān)心。子類也不需要關(guān)心整個(gè)算法實(shí)現(xiàn)流程。實(shí)現(xiàn)子類的穩(wěn)定。

示例
整個(gè)代碼框架:

代碼說明


1:在父類greet中定義了方法method1();method2(); method3(); 其中 method1();method3()為greet類的非虛函數(shù)。在greet類中實(shí)現(xiàn)。method2()為純虛函數(shù),需要在子類中實(shí)現(xiàn)。

 class greet{
public:greet() {}virtual ~greet(){}public:virtual void method2() = 0;private:void method1();void method3();
protect:void greetProcess();
};

整個(gè)算法調(diào)用的接口在父類中定義和實(shí)現(xiàn)

 void greet::greetProcess(){method1();method2();method3();
}

派生類myGreet 繼承 greet類,并且重寫方法method2

class myGreet : public greet{
public:myGreet() {}~myGreet(){}private:void method2();
};
#endif

?在源文件myMain.cpp 中定義基類指針指向派生類,并且調(diào)用基類中的算法流程接口

int main(){greet *baseGreet = new myGreet;baseGreet->greetProcess();delete baseGreet;return 0;
}

代碼編譯:在buildSh目錄下面運(yùn)行myBuild.sh
運(yùn)行:buildSh目錄下面執(zhí)行myStart.sh
清理編譯文件:buildSh目錄下面執(zhí)行myClean.sh
源碼下載地址:設(shè)計(jì)模式之模板方法測試代碼

一個(gè)經(jīng)典的 C++ 源碼示例涉及使用模板方法設(shè)計(jì)模式的場景是 GUI 框架的開發(fā)。在這樣的框架中,通常會有一個(gè)基類定義了一些通用的行為和算法,而具體的子類可以根據(jù)需要來實(shí)現(xiàn)特定的功能或定制化。

#include <iostream>// GUI 元素基類
class UIElement {
public:// 模板方法:渲染void render() {// 繪制背景drawBackground();// 繪制內(nèi)容drawContent();// 繪制邊框drawBorder();}protected:// 子類必須實(shí)現(xiàn)的抽象方法:繪制內(nèi)容virtual void drawContent() = 0;// 可選的鉤子方法:繪制背景,默認(rèn)實(shí)現(xiàn)為空virtual void drawBackground() {}// 可選的鉤子方法:繪制邊框,默認(rèn)實(shí)現(xiàn)為空virtual void drawBorder() {}
};// 具體的按鈕類
class Button : public UIElement {
protected:// 實(shí)現(xiàn)繪制內(nèi)容的具體算法void drawContent() override {std::cout << "Button: Drawing content." << std::endl;}// 實(shí)現(xiàn)繪制背景的具體算法void drawBackground() override {std::cout << "Button: Drawing background." << std::endl;}// 實(shí)現(xiàn)繪制邊框的具體算法void drawBorder() override {std::cout << "Button: Drawing border." << std::endl;}
};// 具體的文本框類
class TextBox : public UIElement {
protected:// 實(shí)現(xiàn)繪制內(nèi)容的具體算法void drawContent() override {std::cout << "TextBox: Drawing content." << std::endl;}// 實(shí)現(xiàn)繪制背景的具體算法void drawBackground() override {std::cout << "TextBox: Drawing background." << std::endl;}
};int main() {// 創(chuàng)建一個(gè)按鈕并渲染Button button;std::cout << "Rendering button:" << std::endl;button.render();std::cout << std::endl;// 創(chuàng)建一個(gè)文本框并渲染TextBox textBox;std::cout << "Rendering text box:" << std::endl;textBox.render();return 0;
}

在這個(gè)示例中,UIElement 類定義了一個(gè)模板方法 render(),它包含了一個(gè)固定的渲染算法框架。具體的子類(如 ButtonTextBox)通過實(shí)現(xiàn)抽象方法 drawContent() 來定制化自己的渲染內(nèi)容,而可選的鉤子方法 drawBackground()drawBorder() 則允許子類根據(jù)需要選擇性地覆蓋默認(rèn)行為。

通過使用模板方法設(shè)計(jì)模式,GUI 框架可以提供一個(gè)通用的渲染算法框架,并允許具體的子類在不同的情況下定制化自己的行為,從而實(shí)現(xiàn)了代碼的靈活性和可擴(kuò)展性。

http://www.risenshineclean.com/news/49069.html

相關(guān)文章:

  • 舟山網(wǎng)站開發(fā)網(wǎng)絡(luò)營銷和網(wǎng)上銷售的區(qū)別
  • 高端建設(shè)網(wǎng)站公司哪家好網(wǎng)頁版百度云
  • 在家建設(shè)一個(gè)網(wǎng)站需要什么材料企業(yè)網(wǎng)站設(shè)計(jì)畢業(yè)論文
  • 武漢網(wǎng)站建設(shè)公司 排名如何免費(fèi)制作自己的網(wǎng)站
  • wordpress網(wǎng)站秒開上海seo網(wǎng)站優(yōu)化
  • 奧鵬網(wǎng)頁設(shè)計(jì)與網(wǎng)站建設(shè)百度開發(fā)者平臺
  • 怎么做自己優(yōu)惠券網(wǎng)站天門seo
  • 阿里云服務(wù)器搭建多個(gè)網(wǎng)站seo推廣經(jīng)驗(yàn)
  • 企業(yè)網(wǎng)站 夢織百度網(wǎng)址大全首頁
  • 圖書館網(wǎng)站建設(shè)目標(biāo)seo優(yōu)化 搜 盈seo公司
  • wordpress自定義末班寧波seo優(yōu)化公司排名
  • 做淘寶客新增網(wǎng)站推廣被逆冬seo課程欺騙了
  • 北京電商網(wǎng)站開發(fā)公司網(wǎng)絡(luò)熱詞作文
  • 怎么看網(wǎng)站是不是php語言做的做百度網(wǎng)站一年多少錢
  • 做實(shí)驗(yàn)網(wǎng)站企業(yè)員工培訓(xùn)內(nèi)容及計(jì)劃
  • 支付網(wǎng)站費(fèi)怎么做會計(jì)分錄google翻譯
  • 深圳網(wǎng)站建設(shè)i9988seo外包靠譜
  • 建網(wǎng)站要多少錢 優(yōu)幫云廣州百度快速優(yōu)化排名
  • 怎么做淘寶網(wǎng)站推廣優(yōu)化大師下載安裝
  • 廣告設(shè)計(jì)專業(yè)自我介紹北京網(wǎng)站優(yōu)化公司
  • 沈陽網(wǎng)站建設(shè)選網(wǎng)龍百度在線問答
  • 謝崗做網(wǎng)站上海網(wǎng)站搜索引擎優(yōu)化
  • 國外男女直接做的視頻網(wǎng)站如何設(shè)計(jì)網(wǎng)站的首頁
  • 西部數(shù)碼網(wǎng)站管理助手3.0姓名查詢
  • 購物網(wǎng)站商城策劃媒介星軟文平臺官網(wǎng)
  • 做釣魚網(wǎng)站獲利3萬東莞seo優(yōu)化團(tuán)隊(duì)
  • 網(wǎng)站建設(shè)驗(yàn)收程序百度網(wǎng)站排名查詢工具
  • 聊城網(wǎng)站定制志鴻優(yōu)化網(wǎng)下載
  • 西寧高端企業(yè)網(wǎng)站建設(shè)推推蛙品牌策劃
  • 成品網(wǎng)站好還是自助建站好營銷活動怎么做吸引人