C#接口的使用场合,接口应用

当一个项目不断的扩大的时候,会面临的问题是不断的有以下情况;

1、以前编写程序的人离职了,新来的程序员看不懂以前的程序,或者觉得以前的程序部够好,但又不希望删除;

2、当实现第三方接口时,如:读写IC卡,以前用的是VB实现,现在改为C/C++了,而主程序有的C#;

……

以上的情况适合接口实现,开发思维如下。

    //定义程序员接口
    interface IProgramer
    {
        //定义程序接口函数
        string LanguageCode();
    }
    //C/C++程序员实现
    class CProgramer : IProgramer
    {
        string CLanguageCode()
        {
            return "C/C++";
        }
    }
    //VB程序员实现
    class VBProgramer : IProgramer
    {
        string VBLanguageCode()
        {
            return "VB";
        }
    }
    //Delphi程序员实现
    class DelphiPrograme : IProgramer
    {
        string DelphiLanguageCode()
        {
            return "Delphi";
            //用Delphi语言写代码;
        }
    }
    class Programer
    {
        public void LanguageCode(IProgramer programer)
        {
            //此次调用LanguageCode函数,有可能是VB,也有可能是C++
            programer.LanguageCode();
        }
    }
    public class main
    {
        public main()
        {
            Programer pro = new Programer();
            IProgramer iprogramer;
            //如果需要用C/C++代码
            iprogramer = new CProgramer();
            pro.LanguageCode(iprogramer);

            //如果需要用VB代码
            iprogramer = new CProgramer();
            pro.LanguageCode(iprogramer);

            //如果需要用Delphi代码
            iprogramer = new CProgramer();
            pro.LanguageCode(iprogramer);
        }
    }

  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C#中的接口是一种契约,它定义了一个类应该实现哪些方法和属性。 接口可以被用于多态性,也可以用于实现类之间的协作。下面是一个简单的接口示例: ```csharp public interface IShape { double GetArea(); double GetPerimeter(); } public class Circle : IShape { private double radius; public Circle(double radius) { this.radius = radius; } public double GetArea() { return Math.PI * radius * radius; } public double GetPerimeter() { return 2 * Math.PI * radius; } } public class Rectangle : IShape { private double length; private double width; public Rectangle(double length, double width) { this.length = length; this.width = width; } public double GetArea() { return length * width; } public double GetPerimeter() { return 2 * (length + width); } } ``` 在这个示例中,IShape接口定义了两个方法GetArea和GetPerimeter。Circle和Rectangle类都实现了这个接口,并提供了自己的实现。这样,我们就可以使用多态性来处理这些对象: ```csharp IShape[] shapes = new IShape[2]; shapes[0] = new Circle(5); shapes[1] = new Rectangle(4, 6); foreach (IShape shape in shapes) { Console.WriteLine("Area: {0}", shape.GetArea()); Console.WriteLine("Perimeter: {0}", shape.GetPerimeter()); } ``` 输出: ``` Area: 78.53981633974483 Perimeter: 31.41592653589793 Area: 24 Perimeter: 20 ``` 在这个示例中,我们使用IShape接口的引用来处理Circle和Rectangle对象。这使我们能够使用相同的代码来处理不同类型的对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值