实验9:桥接模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解桥接模式的动机,掌握该模式的结构;
2、能够利用桥接模式解决实际问题。
[实验任务一]:两个维度的桥接模式
用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。
实验要求:
1.画出对应的类图;
2.提交源代码;
3.注意编程规范。
1、类图
源代码
#include <iostream>
using namespace std;
class Transportation
{
public:
virtual void drive(){}
};
class Car:public Transportation
{
public:
void drive()
{
cout<<"小轿车";
}
};
class Bus:public Transportation
{
public:
void drive()
{
cout<<"大巴";
}
};
class Road
{
public:
Transportation* transportation;
Road(Transportation* transportation)
{
this->transportation=transportation;
}
virtual void driveOnRoad(){}
};
class CementRoad:public Road
{
public:
CementRoad(Transportation* transportation):Road(transportation)
{
}
void driveOnRoad()
{
transportation->drive();
cout<<"行驶在水泥路"<<endl;
}
};
class BituminousRoad:public Road
{
public:
BituminousRoad(Transportation* transportation):Road(transportation)
{
}
void driveOnRoad()
{
transportation->drive();
cout<<"行驶在柏油路"<<endl;
}
};
int main()
{
Transportation* transportation;
Car car=Car();
transportation=&car;
CementRoad(transportation).driveOnRoad();
}
3、运行截图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
2023-11-05 40
2023-11-05 39
2023-11-05 38
2023-11-05 37