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

    针对接口编程能帮助达到面向对象开发和设计中"低耦合"的要求.   
          举个例子:某公司有一台特殊打印机,还可以使用一年,一年后可能换为另一种打印机,这两种打印机都特殊而贵.所以现在的程序希望换了打印机后也少量修改就可用.   
        方法:   
        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("这样做很方便啊");  
        }   

  • 相关阅读:
    回话处理程序(17)
    PDO介绍(16)
    MySQL基础
    保护网站安全(13)
    身份验证(12)
    处理HTML表单(11)
    错误和异常处理(7)
    jQuery 选择器
    官网jquery压缩版引用地址:
    HTML mate标签
  • 原文地址:https://www.cnblogs.com/LinWenQiang/p/11789816.html
Copyright © 2011-2022 走看看