日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

5.简单工厂模式

發布時間:2024/9/27 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 5.简单工厂模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1簡單工廠模式的核心內容是:

A:方法獨立

B:沒有工廠,而是通過switch的方式判斷使用哪個方法。

C:理解:帶同一個妹子到同一個地點,妹子可以選擇不同的菜。

2簡單工廠模式的作用:用一個簡單的switch和一個方法控制使用哪個方法。

3簡單工廠模式具體描述

工廠模式:客戶類和工廠類分開。

消費者任何時候需要某種產品,只需向工廠請求即可。

消費者無須修改就可以接納新產品。缺點是當產品修改時,

工廠類也要做相應的修改。如:如何創建及如何向客戶端提供。

?

MM少不了請吃飯了,麥當勞的雞翅和肯德基的雞翅都是MM愛吃的東西,

雖然口味有所不同,但不管你帶MM去麥當勞或肯德基,

只管向服務員說“來四個雞翅”就行了。麥當勞和肯德基就是生產雞翅的Factory

?

第一,基類存放數據

第二,派生類有很多,派生類存放數據的操作

第三實現接口類,用靜態函數實現調用各種派生類

4.簡單工廠模式類圖

5.代碼:

#include<iostream>

#include <string>

using namespace std;

?

//工廠模式:客戶類和工廠類分開。

//消費者任何時候需要某種產品,只需向工廠請求即可。

//消費者無須修改就可以接納新產品。缺點是當產品修改時,

//工廠類也要做相應的修改。如:如何創建及如何向客戶端提供。

?

//MM少不了請吃飯了,麥當勞的雞翅和肯德基的雞翅都是MM愛吃的東西,

//雖然口味有所不同,但不管你帶MM去麥當勞或肯德基,

//只管向服務員說“來四個雞翅”就行了。麥當勞和肯德基就是生產雞翅的Factory

?

//第一,基類存放數據

//第二,派生類有很多,派生類存放數據的操作

//第三實現接口類,用靜態函數實現調用各種派生類

?

//基類存放數據

class Operation

{

public:

??? double numberA, numberB;//兩個數

??? virtual double? getResult()//獲取結果

??? {

??????? return 0;

??? }

};

?

//派生類存放操作

class addOperation :public Operation

{

??? double getResult()

??? {

??????? return numberA + numberB;

??? }

};

?

//減操作

class subOperation :public Operation

{

??? double getResult()

??? {

??????? return numberA - numberB;

??? }

};

?

//乘操作

class mulOperation :public Operation

{

??? double getResult()

??? {

??????? return numberA*numberB;

??? }

};

?

//除操作

class divOperation :public Operation

{

??? double getResult()

??? {

??????? return numberA / numberB;

??? }

};

?

//個人理解:類此一個控制器,通過傳遞標記來控制調用哪個操作

class operFactory

{

public:

??? static Operation *createOperation(char c)

??? {

??????? switch (c)

??????? {

??????? case '+':

??????????? return new addOperation;

??????????? break;

??????? case '-':

??????????? return new subOperation;

??????????? break;

??????? case '*':

??????????? return new mulOperation;

??????? case '/':

??????????? return new divOperation;

??????????? break;

??????? }

??? }

};

?

int main()

{

??? Operation *oper = operFactory::createOperation('-');

??? oper->numberA = 9;

??? oper->numberB = 99;

??? cout << oper->getResult() << endl;

?

??? cin.get();

??? return 0;

}

運行結果如下:

-90



總結

以上是生活随笔為你收集整理的5.简单工厂模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。