11.7每日总结
实验9:桥接模式
本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:
1、理解桥接模式的动机,掌握该模式的结构;
2、能够利用桥接模式解决实际问题。
[实验任务一]:两个维度的桥接模式
用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。
实验要求:
1.画出对应的类图;
2.提交源代码;
3.注意编程规范。
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | package Test; public class Car implements Vehicle{ @Override public void drive() { System.out.println( "小轿车行驶在" ); } } package Test; public class CementRoad extends Road{ public CementRoad(Vehicle vehicle) { super (vehicle); } @Override public void driveOnRoad() { super .vehicle.drive(); System.out.println( "水泥路" ); } } package Test; 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(); } } package Test; public abstract class Road { protected Vehicle vehicle; public Road(Vehicle vehicle){ this .vehicle = vehicle; } public abstract void driveOnRoad(); } package Test; public interface Vehicle { public void drive(); } package Test; public class AsphaltRoad extends Road{ public AsphaltRoad(Vehicle vehicle) { super (vehicle); } @Override public void driveOnRoad() { super .vehicle.drive(); System.out.println( "沥青路" ); } } package Test; public class Bus implements Vehicle{ @Override public void drive() { System.out.println( "公交车行驶在" ); } } |
· Obsidian + DeepSeek:免费 AI 助力你的知识管理,让你的笔记飞起来!
· 分享4款.NET开源、免费、实用的商城系统
· 解决跨域问题的这6种方案,真香!
· 一套基于 Material Design 规范实现的 Blazor 和 Razor 通用组件库
· 5. Nginx 负载均衡配置案例(附有详细截图说明++)