亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C++設(shè)計(jì)模式迪米特法則實(shí)例

 更新時(shí)間:2018年12月24日 14:11:33   作者:wwxy261  
這篇文章主要為大家詳細(xì)介紹了C++設(shè)計(jì)模式迪米特法則實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

迪米特法則(Law of Demeter)又叫作最少知識(shí)原則(Least Knowledge Principle 簡(jiǎn)寫LKP),就是說一個(gè)對(duì)象應(yīng)當(dāng)對(duì)其他對(duì)象有盡可能少的了解,不和陌生人說話。英文簡(jiǎn)寫為: LoD.

類的設(shè)計(jì)接口盡量封裝完善,讓外部直接調(diào)用

#include<iostream>
#include<string>
#include<vector>
using namespace std;
 
class AbstractBuilding
{
public:
 virtual void sale() = 0;
 virtual string getQuality() = 0;
 
};
 
class BuildingA :public AbstractBuilding
{
public:
 
 BuildingA()
 {
 mQulity = "高品質(zhì)";
 }
 
 virtual void sale()
 {
 cout << "樓盤A" << mQulity << "被售賣!" << endl;
 }
 
 virtual string getQuality()
 {
 return mQulity;
 }
 
public:
 string mQulity;
};
 
 
class BuildingB :public AbstractBuilding
{
public:
 
 BuildingB()
 {
 mQulity = "低品質(zhì)";
 }
 
 virtual void sale()
 {
 cout << "樓盤B" << mQulity << "被售賣!" << endl;
 }
 
 virtual string getQuality()
 {
 return mQulity;
 }
 
public:
 string mQulity;
};
 
// 中介類
class Mediator
{
public:
 Mediator()
 {
 AbstractBuilding* building = new BuildingA;
 vBuilding.push_back(building);
 building = new BuildingB;
 vBuilding.push_back(building);
 }
 
 // 對(duì)外提供接口
 AbstractBuilding* findMyBuilding(string quality)
 {
 for (vector<AbstractBuilding*>::iterator it = vBuilding.begin();
  it != vBuilding.end(); it++)
 {
  if ((*it)->getQuality() == quality)
  {
  return *it;
  }
 }
 
 return NULL;
 }
 
 ~Mediator()
 {
 for (vector<AbstractBuilding*>::iterator it = vBuilding.begin();
  it != vBuilding.end(); it++)
 {
  if (*it != NULL)
  delete *it;
 }
 }
public:
 vector<AbstractBuilding*> vBuilding;
};
 
 
void test01()
{
 Mediator* mediator = new Mediator;
 
 AbstractBuilding* building = mediator->findMyBuilding("低品質(zhì)");
 
 if (building != NULL)
 {
 building->sale();
 
 }
 else
 {
 cout << "沒有符號(hào)條件的樓盤" << endl;
 }
 
}
 
int main()
{
 test01();
 system("pause");
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論