C井接口的显式和隐式实现
来源:互联网 发布:windows照片查看器下载 编辑:程序博客网 时间:2024/05/16 23:45
C井接口的显式和隐式实现(转自:http://blog.csdn.net/NETZHOU/archive/2008/01/22/2058464.aspx)
接口的实现分为:隐式实现和显式实现。如果类或者结构要实现的是单个接口,可以使用隐式实现,如果类或者结构继承了多个接口那么接口中相同名称成员就要显式实现。显示实现是通过使用接口的完全限定名来实现接口成员的。
使用显式接口成员执行体通常有两个目的:
1、因为显式接口成员执行体不能通过类的实例进行访问,这就可以从公有接口中把接口的实现部分单独分离开。如果一个类只在内部使用该接口,而类的使用者不会直接使用到该接口,这种显式接口成员执行体就可以起到作用。
2、显式接口成员执行体避免了接口成员之间因为同名而发生混淆。如果一个类希望对名称和返回类型相同的接口成员采用不同的实现方式,这就必须要使用到显式接口成员执行体。如果没有显式接口成员执行体,那么对于名称和返回类型不同的接口成员,类也无法进行实现。
示例:
//IA的接口定义
interface IA
{
void HelloWorld();
}
//IB的接口定义
interface IB
{
void HelloWorld();
}
class TestAB : IA, IB
{
//隐式实现IA与IB的HelloWorld方法
public void HelloWorld()
{
Console.WriteLine("Hello World!");
}
//显式实现IB接口的HelloWorld方法
void IB.HelloWorld()
{
Console.WriteLine("IB.HelloWorld!");
}
//显式实现IA接口的HelloWorld方法
void IA.HelloWorld()
{
Console.WriteLine("IA.HelloWorld!");
}
}
//调用
TestAB ab = new TestAB();
ab.HelloWorld(); //Hello World!
IB b = ab as IB;
b.HelloWorld(); //IB.HelloWorld!
IA a = ab as IA;
a.HelloWorld(); //IA.HelloWorld!
- C井接口的显式和隐式实现
- 【c#】隐式接口和显式接口的区别
- C#.NET隐式和显式接口方法实现幕后发生的故事
- C#接口-显式接口和隐式接口的实现
- 【转】C#接口-显式接口和隐式接口的实现
- C#显式接口实现和隐式接口实现
- vs 2008 显式实现接口 和 隐式实现接口的 区别
- vs 2008 显式实现接口 和 隐式实现接口的 区别
- 接口的隐式和显示实现
- C#中接口的显式和隐式实现
- C#中接口的显式和隐式实现
- C#中接口的显式和隐式实现
- 显式和隐式实现接口
- 显式和隐式实现接口
- C#中,接口的隐式实现和显示实现
- 接口的显示实现和隐式实现一点笔记
- C#接口的显示实现和隐式实现
- 一小段代码演示C#接口的类级别实现和显式接口成员实现
- 对C#中HashTable的Add方法参数类型的探讨
- 信息
- Java 连接 SQL Server 2000示例代码
- JFreeChart中文API
- 基于PHP的cURL快速入门
- C井接口的显式和隐式实现
- 信息2
- oracle中的角色
- 工作帮——管理学十大经典定理!
- 学习 ext
- Acpi 和 apm
- 学习帮——“俗话说得好”,可俗话又说……(辩论必备)
- dvfs dptc dpm
- Spring中ref local与ref bean区别