两个维度的桥接模式

 

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

实验要求:

1.  画出对应的类图;

 

2.  提交源代码;

public class Bus implements Vehicle

{

@Override

public void drive()

{

System.out.print("大巴");

}

}

public class Car implements Vehicle

{

@Override

public void drive()

{

System.out.print("小轿车");

}

}

public class CementRoad extends Road

{

public CementRoad(Vehicle vehicle)

{

super(vehicle);

}

@Override

public void driveOnRoad()

{

super.vehicle.drive();

System.out.println("行驶在水泥路");

}

}

public class main {

public static void main(String[] args) {

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

road.driveOnRoad();

}

}

public abstract class Road

{

protected Vehicle vehicle;

 

public Road(Vehicle vehicle)

{

this.vehicle = vehicle;

}

public abstract void driveOnRoad();

}

public class UnpavedRoad extends Road

{

public UnpavedRoad(Vehicle vehicle)

{

super(vehicle);

}

@Override

public void driveOnRoad()

{

super.vehicle.drive();

System.out.println("行驶在石子路");

}

 

public interface Vehicle {

public void drive();

 

}

posted @   涨涨涨张  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示