问答题
 采用该设计模式的原因在于:系统解析BMP、GIF与JPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。
  【Java 代码】
  class Matrix{   //各种格式的文件最终都被转化为像素矩阵
  //此处代码省略
  };
  abstract class ImageImp{
  public  abstract void doPaint(Matrix m);    //显示像素矩阵m
  };
  class WinImp extends ImageImp{
  public void doPaint(Matrix m){ /*调用windows系统的绘制函数绘制像素矩阵*/ }
  };
  class LinuxImp extends ImageImp{
  public void doPaint(Matrix m){/*调用Linux系统的绘制函数绘制像素矩阵*/}
  };
  abstract class Image {
  public void setImp(ImageImp imp){
  (1)      = imp; }
  public abstract void parseFile(String fileName);
  protected     (2)        imp;
  };
  class    BMP extends Image{
  public  void parseFile(String fileName){
  //此处解析BMP文件并获得一个像素矩阵对象m
  (3)    ;// 显示像素矩阵m
  }
  };
  class    GIF extends Image{
  //此处代码省略
  };
  class    JPEG extends Image{
  //此处代码省略
  };
  public class javaMain{
  public static void main(String[] args){
  //在windows操作系统上查看demo.bmp图像文件
  Image image1 =     (4)    ;
  ImageImp imageImp1 =     (5)    ;
  (6)    ;
  image1.parseFile("demo.bmp");
  }
  }
  现假设该系统需要支持 10 种格式的图像文件和 5 种操作系统,不考虑类 Matrix 和类javaMain,若采用桥接设计模式则至少需要设计(7)个类。
  采用该设计模式的原因在于:系统解析BMP、GIF与JPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。
  【Java 代码】
  class Matrix{   //各种格式的文件最终都被转化为像素矩阵
  //此处代码省略
  };
  abstract class ImageImp{
  public  abstract void doPaint(Matrix m);    //显示像素矩阵m
  };
  class WinImp extends ImageImp{
  public void doPaint(Matrix m){ /*调用windows系统的绘制函数绘制像素矩阵*/ }
  };
  class LinuxImp extends ImageImp{
  public void doPaint(Matrix m){/*调用Linux系统的绘制函数绘制像素矩阵*/}
  };
  abstract class Image {
  public void setImp(ImageImp imp){
  (1)      = imp; }
  public abstract void parseFile(String fileName);
  protected     (2)        imp;
  };
  class    BMP extends Image{
  public  void parseFile(String fileName){
  //此处解析BMP文件并获得一个像素矩阵对象m
  (3)    ;// 显示像素矩阵m
  }
  };
  class    GIF extends Image{
  //此处代码省略
  };
  class    JPEG extends Image{
  //此处代码省略
  };
  public class javaMain{
  public static void main(String[] args){
  //在windows操作系统上查看demo.bmp图像文件
  Image image1 =     (4)    ;
  ImageImp imageImp1 =     (5)    ;
  (6)    ;
  image1.parseFile("demo.bmp");
  }
  }
  现假设该系统需要支持 10 种格式的图像文件和 5 种操作系统,不考虑类 Matrix 和类javaMain,若采用桥接设计模式则至少需要设计(7)个类。
