首页 > 其他分享 >软件设计实验9:桥接模式

软件设计实验9:桥接模式

时间:2023-11-07 22:00:57浏览次数:37  
标签:桥接 void vehicle 软件设计 实验 Vehicle public Road

实验9:桥接模式

本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:

1、理解桥接模式的动机,掌握该模式的结构;

2、能够利用桥接模式解决实际问题。

 

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

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

实验要求:

1. 画出对应的类图;

 

 

2. 提交源代码;

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();
}
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("公交车行驶在");
    }
}

 

标签:桥接,void,vehicle,软件设计,实验,Vehicle,public,Road
From: https://www.cnblogs.com/DREAM2021/p/17816142.html

相关文章

  • 渗透测试第一次实验
     虚拟机和主机链接方式:桥接模式:就可与i将虚拟机看成是局域网中的独立主机(如下图,AB就是使用NAT模式)NAT模式:则是将物理机当作为路由器,虚拟机为内网中的一台主机(如下图,AC就是使用NAT模式)Host模式:就是将虚拟机和物理机看成一个网络,与外界隔绝        ......
  • SQL 实验
    登入mysql-uroot-hlocalhost-p123456建库createdatabasemysql_test;usemysql_test;基础建表createtableifnotexistsstudent_info( idintprimarykeyauto_increment,numberintnotnullunique,namevarchar(100)notnull);createtableifnot......
  • 20231107学习总结-大型数据库-实验1.熟悉常用的Linux操作和Hadoop操作
    实验1熟悉常用的Linux操作和Hadoop操作1.实验目的Hadoop运行在Linux系统上,因此,需要学习实践一些常用的Linux命令。本实验旨在熟悉常用的Linux操作和Hadoop操作,为顺利开展后续其他实验奠定基础。2.实验平台(1)操作系统:Linux(建议Ubuntu16.04或Ubuntu18.04);(2)Hadoop版本:3.1.3。3.......
  • 大型数据库实验一
    Linux操作和Hadoop操作实验报告一、熟悉的Linux操作1、切换到目录“/usr/local”2、切换到当前目录的上一级目录3、切换到当前登录系统的Linux系统的用户的自己的主文件夹4、查看/usr目录下的所有文件和目录5、在/tmp目录下,新建一个名为a的目录,并查看/tmp目录下已经有了......
  • 实验三
    #include<stdio.h>#include<stdlib.h>#include<time.h>#include<windows.h>#defineN80voidprint_text(intline,intcol,chartext[]);//函数声明voidprint_spaces(intn);//函数声明voidprint_blank_lines(intn);//函数声明intmain(){......
  • 软件设计3
    [实验任务一]:加密算法目前常用的加密算法有DES(DataEncryptionStandard)和IDEA(InternationalDataEncryptionAlgorithm)国际数据加密算法等,请用工厂方法实现加密算法系统。实验要求:1. 画出对应的类图;  2. 提交该系统的代码,该系统务必是一个可以能够直接使用的系统,查阅......
  • 计网实验3
    1.建立网络拓扑执行dev3.sh脚本2.查看建立的NS列表3.查看各NS内的网络接口配置4.查看交换机桥接状态5.为虚拟网络拓扑中的各路由器配置静态路由6.关闭网卡offload功能,将运输层封装时需要的计算还给CPU7.打开两个终端模拟两个主机ns56A和ns57C8.在ns57C上启动抓包......
  • 实验5---Swing UI设计(简易计算器)
    一、实验目的本实验的目的是掌握JAVA容器类JFrame和JPanel的使用;掌握Swing常用布局的使用;掌握常用可视组件的使用。二、实验内容完成一个简单的计算器的功能。实现的效果图如下所示:  计算器实现的计算功能为:加、减、乘、除法、求余;“C”为清除,“<-“为退格等功能。三、......
  • 数据库实验一
    补tac~/.bashrcmore~/.bashrchead-n20~/.bashrchead-n50~/.bashrc|tail-n20tail-n20~/.bashrctail-n+50~/.bashrctouch/tmp/hellols-l/tmp/hellotouch-d"5daysago"/tmp/hellols-l/tmp/hellochownroot/tmp/hellols-l/tmp/he......
  • 23级ACM实验室第一次招新测试题解
    A.还是HelloWorld?思路:无代码:c++:#include<bits/stdc++.h>usingnamespacestd;intmain(){ cin.tie(0)->ios::sync_with_stdio(0); cout<<"Hello,World!"<<endl; return0;}B.这题真不难,放轻松~思路:无代码:C++:#include<bits/st......