首页 > 其他分享 >11.4实验9:桥接模式

11.4实验9:桥接模式

时间:2024-11-05 14:59:21浏览次数:1  
标签:桥接 void vehicle class 11.4 实验 Vehicle public Road

[实验任务一]:两个维度的桥接模式

用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。

实验要求:

1. 画出对应的类图;

 

 

2.提交源代码;

public class AsphaltRoad extends Road{

   public AsphaltRoad(Vehicle vehicle) {

       super(vehicle);

   }



   @Override

   public void driveOnRoad() {

       super.vehicle.drive();

       System.out.println("沥青路");

   }

}

 

 

 

public class Bus implements Vehicle{



   @Override

   public void drive() {

       System.out.println("公交车行驶在");

   }

}

 

 

 

public class Car implements Vehicle{

   @Override

   public void drive() {

       System.out.println("小轿车行驶在");

   }

}

 

 

 

public class CementRoad extends Road{



   public CementRoad(Vehicle vehicle) {

       super(vehicle);

   }



   @Override

   public void driveOnRoad() {

       super.vehicle.drive();

       System.out.println("水泥路");

   }

}

 

 

 

public class Client {

   public static void main(String[] args) {

       Road road = new AsphaltRoad(new Car());

       road.driveOnRoad();

       System.out.println("**************************************************");

       Road road1 = new CementRoad(new Bus());

       road1.driveOnRoad();

   }

}

 

 

 

public abstract class Road {

   protected Vehicle vehicle;

   public Road(Vehicle vehicle){

       this.vehicle = vehicle;

   }

   public abstract void driveOnRoad();

}

 

 

 

public interface Vehicle {

   public void drive();

}

 

3.注意编程规范。

 

 

 

标签:桥接,void,vehicle,class,11.4,实验,Vehicle,public,Road
From: https://www.cnblogs.com/yindantong/p/18528029

相关文章

  • 实验7:单例模式
    本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解单例模式的动机,掌握该模式的结构;2、能够利用单列模式解决实际问题。[实验任务一]:学号的单一仿照课堂的身份证的例子,实现每个同学仅有一个学号这一问题。实验要求:1.画出对应的类图;2.提交源代码;3.注意编程规......
  • 11.4
    一.多选题(共3题,30分)(多选题)数据库管理系统的职责:A.数据组织B.数据加密C.数据存储D.数据管理我的答案:ACD:数据组织;数据存储;数据管理;正确答案:ACD:数据组织;数据存储;数据管理;10分(多选题)关系模型的组成包括:A.关系数据B.关系操作集合C.关系数据结......
  • 实验四 C语言数组应用编程
    实验四C语言数组应用编程实验任务1——内存地址#include<stdio.h>#defineN4#defineM2voidtest1(){ intx[N]={1,9,8,4}; inti; //输出数组x占用的内存字节数 printf("sizeof(x)=%d\n",sizeof(x)); //输出每个元素的地址、值 for(i=0;i<N;+......
  • 实验3 应急响应
    实验目的:对遭受网络攻击的服务器进行排查分析,找出黑客的攻击路径和破坏行为。实验内容:1、对Linux服务器开展网络安全事件应急响应2、对Windows服务器开展网络安全事件应急响应实验环境:应急响应服务器1:Linux虚拟机应急响应服务器2:Windows虚拟机实验步骤:Linux服务器应急......
  • 11.4 小计
    演唱会戒断反应啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊CF27E拆式子。直接贪心是假的。注意到范围不大,直接把素数前面几个拿出来暴搜即可。CF1060E题目本质是把点对直接的距离除2上取整。统计每个点作为LCA的荅案。记录\(dep\bmod2\)的桶,然......
  • PackageTracer实验中第一次Ping必然会丢包的原因
    在packageTracer中做实验时发现首次ping位于不同网络中的主机时必然会超时,我对此疑惑不解,但是上网没有找到相关解答,于是我通过包跟踪找到了答案,于是将其记录下来,希望对后拉的读者有所帮助。PS:R0与R1的位置有误PC1PingPC3的过程首先,当我们在PC1发出Ping命令时,网络层会检查......
  • 实验三
    实验一:button.hpp#pragmaonce#include<iostream>#include<string>usingstd::string;usingstd::cout;//按钮类classButton{public:Button(conststring&text);stringget_label()const;voidclick();private:stringl......
  • 实验3 类和对象_基础编程2
     实验任务1实验代码:1#pragmaonce23#include<iostream>4#include<string>56usingstd::string;7usingstd::cout;89//按钮类10classButton{11public:12Button(conststring&text);13stringget_label()const;14......
  • 实验3 类和对象_基础编程2
    任务1:button.hpp#pragmaonce#include<iostream>#include<string>usingstd::string;usingstd::cout;//按钮类classButton{public:Button(conststring&text);stringget_label()const;voidclick();private:string......
  • SWJTU数电实验:可控分频计数器
    一、实验要求基本实验内容1、设计一个可控分频器,clk_in为分频器时钟输入(50MHz,已固定连接在PIN_90),sel为选择开关,clk_out[1:0]为分频器信号输出。当sel=0时,clk_out[0]=sn[3:0]Hz,clk_out[1]=sn[3:0]/2Hz;当sel=1时,clk_out[0]=sn[3:0]H......