zoukankan      html  css  js  c++  java
  • 7.桥接设计模式

    7.桥接设计模式

    1.概述

    • 场景
    • 车子有很多分类-公交车、小车、大车
    • 路有很多分类---城市道路、乡村道路、高速公路
    • 我们需要通过代码实现车在公路上跑的情形
    • 桥接设计模式
    • 这里有两个维度车辆和路面,桥接设计模式希望把这两个部分的设计进行分离
    • 1.Car有一个基础类,其他类型的车继承这个类并进行扩展
    • 2.Road有一个基础类,其他类型的路继承这个类并进行扩展
    • 3.路面和车辆通过类进行组合。

    2.代码

    • abstract public class AbstractCar {
          abstract public void run();
      }
      
      class Car extends AbstractCar{
          @Override
          public void run(){
              System.out.println("小汽车");
          }
      }
      
      class SpeedWay extends AbstractCar{
          @Override
          public void run(){
              System.out.println("高速公路");
          }
      }  
    • 描述:车辆
    • /**
       * Created by yangyun on 2017/2/28.
       */
      abstract public class AbstractRoad {
          protected AbstractCar abstractCar;
      
          abstract public void run();
      
          public void setAbstractCar(AbstractCar abstractCar) {
              this.abstractCar = abstractCar;
          }
      
          public AbstractCar getAbstractCar() {
              return abstractCar;
          }
      }
      
      class Street extends AbstractRoad{
          @Override
          public void run(){
              getAbstractCar().run();
              System.out.println("在市区街道行驶");
          }
      }
      
      class SpeedStreet extends AbstractRoad{
          @Override
          public void run(){
              getAbstractCar().run();
              System.out.println("在高速公路行驶");
          }
      }  
    • 描述:车辆
    • public static void main(String[] args){
              AbstractRoad abstractRoad=new SpeedStreet();
              abstractRoad.setAbstractCar(new Car());    
      }
  • 相关阅读:
    Google笔试题
    OpenStack Ceilometer简介
    OpenStack Object Storage(Swift)架构、原理及特性
    【大话存储2读书笔记】磁盘IO的重要概念
    递归,汉诺塔游戏
    函数定义与使用
    字符串操作
    for循环:用turtle画一颗五角星
    列表、元组、字典、集合的定义、操作与综合练习
    npm 相关
  • 原文地址:https://www.cnblogs.com/yangyunnb/p/6479205.html
Copyright © 2011-2022 走看看