azure011328

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
统计
 

软件设计                  石家庄铁道大学信息学院

 

实验9:桥接模式

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

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

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

 
   

 


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

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

实验要求:

 

// 车的抽象部分接口

public abstract class Vehicle {

    protected Road road;

 

    public Vehicle(Road road) {

        this.road = road;

    }

 

    public abstract void drive();

}

 

// 路的实现部分接口

public interface Road {

    void travel();

}

// 具体的车类

public class Car extends Vehicle {

    public Car(Road road) {

        super(road);

    }

 

    @Override

    public void drive() {

        System.out.println("Car is driving on " + road.getClass().getSimpleName());

        road.travel();

    }

}

 

public class Bus extends Vehicle {

    public Bus(Road road) {

        super(road);

    }

 

    @Override

    public void drive() {

        System.out.println("Bus is driving on " + road.getClass().getSimpleName());

        road.travel();

    }

}

 

// 具体的路实现类

public class CementRoad implements Road {

    @Override

    public void travel() {

        System.out.println("Traveling on Cement Road");

    }

}

 

public class AsphaltRoad implements Road {

    @Override

    public void travel() {

        System.out.println("Traveling on Asphalt Road");

    }

}

public class BridgeTest {

    public static void main(String[] args) {

        Road cementRoad = new CementRoad();

        Road asphaltRoad = new AsphaltRoad();

 

        Vehicle car = new Car(cementRoad);

        car.drive();

 

        Vehicle bus = new Bus(asphaltRoad);

        bus.drive();

    }

}

posted on   淮竹i  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2023-11-13 每日总结11.13
 
点击右上角即可分享
微信分享提示