现在的位置: 首页 > 综合 > 正文

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

2013年07月22日 ⁄ 综合 ⁄ 共 728字 ⁄ 字号 评论关闭

 

问题引入:

 

今天用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.隐藏了实现接口的类的实现代码

 

 

抱歉!评论已关闭.