第2章策略模式

2022-03-11 19:17:39 字數 825 閱讀 1333

一 概念

二 uml圖

三 策略模式解析

四 c++實現**

#include "pch.h"

#include using namespace std;

//現金收取類的抽象方法 strategy類

//定義所有支援的演算法的公共介面

class cashsuper

;//正常收費子類

class cashnormal : public cashsuper

};//打折收費子類

class cashrebate : public cashsuper

double acceptcash(double money) override

private:

double _moneyrebate;

};//返利收費子類

class cashreturn : public cashsuper

double acceptcash(double money) override

return result;

}private:

double _moneycondition;

double _meneyreturn;

};class cashcontext

} ~cashcontext() }

//根據收費策略的不同,獲得計算結果

double getresult(double money)

private:

cashsuper* cs;

};int main()

第2章 商場促銷 策略模式

策略模式 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,次模式讓演算法的變化,不會影響到使用演算法的客戶。使用的是聚合關係 策略模式是一種定義一系列演算法的方法,從概念上來看,所有這些演算法完成的都是相同的工作,只是實現不同,它可以以相同的方式呼叫所有的演算法,減少了各種演算法類與使用演...

2 策略模式

ifndef strategy h define strategy h include using namespace std 策略模式 不同種族加成不同的技能 class 種族 virtual void skilladd 0 不同的天賦加成不同的屬性 class 天賦 virtual void p...

策略模式 2

排序的方法靈活指定 例 按重量,高度,順序,倒敘等 開閉原則 對修改關閉 盡量不去修改原來的 對擴充套件開發 排序 sorter 傳遞陣列 傳遞比較器 comparator 自定義比較器 public inte ce comparator 比較器的自定義實現 public class catcomp...