[C# 基础知识系列]专题二:C#中为什么要引入接口

                         [C# 基础知识系列]专题二:C#中为什么要引入接口

前言:今天看了下C#的接口,感觉很迷惑,不知道为什么C#中非要引入接口的概念,于是查阅相关资料仔细的研究了下,原来C#接口就是类与类之间的一种协定和约束,一个项目往往很庞大,如果一个类实现了某一个接口,那么这个类就一定实现了接口的方法,那么当我们在使用这个类的时候就完全可以不用去考虑具体方法的实现,只需要直接去调用即可。同时接口的引入方便了我们对不同类的统一管理和约束,在公司管理的过程中是相当有帮助的……

那么我们来定义一个接口:

public interface IBark 
{
  void Bark(); 
}
再定义一个类集成于IBark,那么类dog中就必须要实现Bark()方法了
public class Dog:IBark
 { 
         public Dog()  
         {}  
         public void Bark()  
         {   
                 Consol.write("汪汪");
          } 
}


试想一样,若是想调用Bark()方法,只需要在Dog()中声明这样的一个方法不就行了吗,为什么还要用接口呢.因为接口中并没有Bark()具体实现.真的实现还是要在Dog()中.那么使用接口不是多此一举吗?还有人是这样说的:从接口的定义方面来说,接口其实就是类和类之间的一种协定,一种约束.还拿上面的例子来说.所有继承了IBark接口的类中必需实现Bark()方法.那么从用户(使用类的用户)的角度来说,如果他知道了某个类是继承于IBark接口,那么他就可以放心大胆的调用Bark()方法,而不用管Bark()方法具体是如何实现的.比如,我们另外写了一个类
public class Cat:IBark 
 { 
       public Cat() 
       {} 
       public void Bark()  
       { 
            Consol.write("喵喵");  
       }  
}

当用户用到Cat类或是Dog类的时候,知道他们继承于IBark,那么不用管类里的具体实现,而就可以直接调用Bark()方法,因为这两个类中肯定有关于Bark()方法的具体实现.如果我们从具体做项目的角度来看.一个项目中用若干个类需要去编写,由于这些类比较复杂,工作量比较大,这样每个类就需要占用一个工作人员进行编写.比如A程序员去定Dog类,B程序员去写Cat类.这两个类本来没什么联系的,可是由于用户需要他们都实现一个关于"叫"的方法.这就要对他们进行一种约束.让他们都继承于IBark接口,目的是 方便统一管理 .另一个是 方便调用 .当然了,不使用接口一样可以达到目的.只不过这样的话,这种约束就不那么明显,如果这样类还有Duck类等等,比较多的时候难免有人会漏掉这样方法.所以说还是通过接口更可靠一些,约束力更强一些.

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值