• C# interface 接口理解


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

    //定义打印机接口 
    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("这样做很方便啊");

  • 相关阅读:
    docker 安装 postgresql10[转] 规格严格
    实现html和word的相互转换(带图片) 规格严格
    JasperReport报表导出踩坑实录 规格严格
    Postman设置环境变量[转] 规格严格
    PDF 图书
    理解 ASP.NET Core:Cookie 认证
    你在错误命名你的测试用例!
    精通 ASP.NET Core MVC (第 7 版) 源码下载
    使用 VS Code 徒手构建 PDF 文件
    OpenType 字体文件组织结构
  • 原文地址:https://www.cnblogs.com/dfsxh/p/1215288.html
Copyright © 2020-2023  润新知