【正确答案】(1) this.imp (2) ImageImp (3) imp.doPaint(m) (4) new BMP()
(5) new WinImp() (6) image1.setImp(imageImp1) (7) 17
【答案解析】[要点解析] 本题采用桥接模式,桥接设计模式将抽象部分与它的实现部分分离,使它们都可以独立地变化。程序解释如下。
(1) this.imp= imp;/*this在Java中所代表的意思是当前类,明确引用的是本类中的属性。*/
protected (2)ImageImp imp;/*要引用ImageImp类的对象,必须先加以声明,否则无法引用。*/
(3)imp.doPaint (m);/*显示像素矩阵m 将图像文件解析完成后,得到像素矩阵,接下来自然是调用相应的函数将它显示出来。由于imp是父类中的protected成员,因此在于类中可以引用。*/
Image image1=(4) new BMP() ;/*创建Image类的对象,Image类有三个子类,分别为BMP、GIF、JPEG,由于此处解析的是BMP文件,故是BMP类型并为它分配内存空间。*/
ImageImp ImageImp1=(5)new Winlmp();/*创建ImageImp类的对象,ImageImp类有两个子类,分别为WinImp类和LinuxImp类,由于此处是Windows操作系统,故是WinImp类型并为它分配内存空间。 */
(6) image1. setImp (ImageImp1);/*调用该函数,则Image类的对象就可以调用ImageImp类及其派生子类中的函数。*/