課程作業七

2022-08-15 11:39:09 字數 1550 閱讀 3059

[課程作業七]

基類.

class random

;~random(){};

virtual void random()=0;

virtual char randomoperation()=0;

virtula int randomnumber()=0;

};

(派生類)生成隨機數.

class randomnumber:virtual public random

;~randomnumber(){};

virtual char randomoperation;

virtula int randomnumber;

int get_number(int i)

};

(派生類)生成隨機運算子.

class randomoperation:virtual public random

~randomoperator(){}

virtual char randomoperation(); //隨機符號

virtual int randomnunber();

char get_operation(int i)

};

(派生類)生成隨機式子.

class randomexpression:public randomoperation,public randomnumber  

for(int i=1;i<10;i++)

}void random(){};

void random(char c[100]);

};

(各類的成員函式).

void randomnumber::random()          

}void randomoperation::random() }}

理解:將使用者的客戶端的所需要求傳送至簡單工廠裡,在這個工廠裡負責生產滿足客戶要求的產品,這個產品是抽象多種產品聚合而成的,就像玩具的零件一樣,要生產抽象a元件,生產抽象b元件等,這些零碎的元件有抽象產品直接掌管,不需客戶端和工廠直接參與。

解析:

優點及缺點:

優點:因為分工明確,使用者在使用時可以直接根據工廠類去建立所需的例項,有利於整個軟體體系結構的優化。

缺點:工廠類就需要判斷何時建立何種種類的產品,這就和建立何種種類產品的產品相互混淆在了一起,違背了單一職責,導致系統喪失靈活性和可維護性。

總而言之就是,就像乙個公司,規模越大,效率越高,客戶越多,同時一旦出了亂子,後果也是很大的。

[學習資料]

課程作業(七)

github inherit include includeusing namespace std define random a,b rand b a 1 a class random class randomnumber public random int random int down,int...

《物件導向程式設計》課程作業七

題目描述 請將隨機生成數字 表示式的部分設計成 乙個random基類,基類中有random 方法。並由該基類派生出randomnumber類 randomoperation類,繼承並覆蓋父類方法。學習簡單工廠模式,思考能否將該模式運用到題目的第一點要求中。include includeusing n...

2017《物件導向程式設計》課程作業七

有乙個隨機類作為基類,隨機數類和隨機符號類繼承基類,各自增加保護成員隨機數和隨機符號,後在各自的random 方法中對隨機數和隨機符號賦值。隨機表示式類通過保護繼承的方式繼承隨機數類和隨機符號類,在random 方法中將隨機數和隨機符號組合成隨機表示式。使用時需要新建乙個randomexpressi...