针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求. 某公司...打印机...(笔试中遇到的题目)

Posted linwenqiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求. 某公司...打印机...(笔试中遇到的题目)相关的知识,希望对你有一定的参考价值。

针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求.   
      举个例子:某公司有一台特殊打印机,还可以使用一年,一年后可能换为另一种打印机,这两种打印机都特殊而贵.所以现在的程序希望换了打印机后也少量修改就可用.   
    方法:   
    1,定义一个打印机接口.   
    2,定义打印机类A,B,分别实现此接口.   
    3,定义一个工厂类,在类中可选择返回由A实现的接口,或者由B实现的接口.   
    4,在程序中使用打印机时,就可以使用工厂类来调用打印机,而不需要知道具体的是什么打印机.   
        如果打印机换了,只需要修改工厂类就行了.如果有一千个地方都调用过打印机,就不需要一个一个修改.修改一个地方就行了.接口充当一个隔离层的作用.   


    代码如下:

    技术图片  private   void     button1_Click(object     sender,EventArgs     e){  
技术图片        PrintFactory     myFactory=new     PrintFactory();  
技术图片        Iprint     myPrint=myFactory.CreatePrint("PrintA");  
技术图片        myPrint.PrintData("这样做很方便啊");  
技术图片    }   

请编写步骤1,2,3,中所述的接口IPrint,类PrintA,类PrintB,类PrintFactory。

 

 

技术图片//定义打印机接口  
技术图片  interface     Iprint{  
技术图片      bool     PrintData(string     data);  
技术图片    }  
技术图片   
技术图片  //定义打印机类A,实现接口  
技术图片  class     PrintA:Iprint{  
技术图片      public   virtual   bool     PrintData(string     data){  
技术图片          //具体业务逻辑略  
技术图片        }  
技术图片    }  
技术图片   
技术图片    定义打印机类B,实现接口  
技术图片  class     PrintB:Iprint{  
技术图片      public   virtual   bool     PrintData(string     data){  
技术图片          //具体业务逻辑略  
技术图片        }  
技术图片    }  
技术图片   
技术图片  //定义工厂类  
技术图片  class     PrintFactory{  
技术图片      public     Iprint     CreatePrint(){  
技术图片        //返回一个由打机类A,或B实现的接口,比如  
技术图片          return   new     PrintA();  
技术图片        }  
技术图片    }  
技术图片   
技术图片  //通过工厂类,调用打印机  
技术图片  private   void     button1_Click(object     sender,EventArgs     e){  
技术图片        PrintFactory     myFactory=new     PrintFactory();  
技术图片        Iprint     myPrint=myFactory.CreatePrint();  
技术图片        myPrint.PrintData("这样做很方便啊");  
技术图片    }   

 

以上是关于针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求. 某公司...打印机...(笔试中遇到的题目)的主要内容,如果未能解决你的问题,请参考以下文章

关于java面向对象编程和面向接口编程区别

面向对象的设计模式之依赖倒置原则

二十三种设计模式

设计模式——面向对象设计原则

面向对象的语言主要都有哪些

面向对象编程设计原则