vs 2008 显式实现接口 和 隐式实现接口的 区别

 vs 2008 显式实现接口 和 隐式实现接口的 区别

转载自:http://blog.youkuaiyun.com/WDYDXF/article/details/5349207

问题引入:

 

今天用vs2008 快捷键时 我按了shift+Alt+F10  (接口的快捷键),vs提示 是否显式实现接口,就顺便查了什么是显式什么是隐式,

 

以及他们的区别,现总结如下:

 

先定义一个接口:

public Interface ICategory

{

      string GetName();

}

 

接着实现上面定义的接口:

public class Category:ICategory

{

      public string GetName()

       {

              return name;

       }

}

 

以上的方式是隐式的实现接口(我们默认的都是使用隐式的接口)

 

显式的实现接口方式:

 

public class Category:ICategory

{

       public string  ICategory.GetName()

        {

               return name;

         }

}

 

区别:

1. 隐式实现接口时,我们有两种方式调用实现接口的方法(GetName()),即:

ICategory category=new Category();

category.GetName();

Category category=new Category();

categoty.GetName();

 

2. 显式实现接口时,我们只有一种方法来调用GetName(),即:

 

 

 

 

ICategory category=new Category();

category.GetName();

 

结论:

1. 隐式实现接口时,接口和类(实现接口的类)都可以访问类中的方法;

2. 显式实现接口时,只有通过接口来访问类中的方法;

 

显式优点:

1.隐藏了实现接口的类的实现代码

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值