C#隐式实现接口成员与显示实现接口成员
来源:互联网 发布:环信 服务端开发 java 编辑:程序博客网 时间:2024/06/05 16:47
C#在类中实现接口。实现接口的类必须包含该接口的所有成员的实现代码,且都是公共的。实现接口成员有隐式实现和显式实现两种方法。
- 隐式实现
如下图所示,类MyClass隐式地实现了接口IMyInterface的DoSomething和DoSomethingElse两个方法。对于隐式实现的成员,既可以通过类对象实例来访问,也可以通过接口来访问。如Main函数所示,两种调用方法都能成功。
namespace Ch10Ex03
{
class Program
{
public interface IMyInterface
{
void DoSomething();
void DoSomethingElse();
}
public class MyClass : IMyInterface { public void DoSomething() { Console.WriteLine("DoSomething\n"); } public void DoSomethingElse() { Console.WriteLine("DoSomethingElse\n"); } } static void Main(string[] args) { //通过类对象实例访问 MyClass myObj1 = new MyClass(); myObj1.DoSomething(); myObj1.DoSomethingElse(); //通过接口来访问 MyClass myObj2 = new MyClass(); IMyInterface myIntface = myObj2; myIntface.DoSomething(); myIntface.DoSomethingElse(); Console.ReadKey(); } }
}
- 显式实现
如下图所示,类MyClass显式地实现了接口IMyInterface的DoSomething方法,隐式的实现了DoSomethingElse方法。对于显式实现的成员,只能通过接口来访问,不能使用类对象来访问。注意显式实现接口方法的时候不需要加public、private等关键词。
namespace Ch10Ex03
{
class Program
{
public interface IMyInterface
{
void DoSomething();
void DoSomethingElse();
}
public class MyClass : IMyInterface { void IMyInterface.DoSomething() { Console.WriteLine("DoSomething\n"); } public void DoSomethingElse() { Console.WriteLine("DoSomethingElse\n"); } } static void Main(string[] args) { //通过接口来访问 MyClass myObj = new MyClass(); IMyInterface myIntface = myObj; myIntface.DoSomething(); myIntface.DoSomethingElse(); Console.ReadKey(); } }
}
阅读全文
0 0
- C#隐式实现接口成员与显示实现接口成员
- C#隐式实现接口成员与显示实现接口成员
- 接口成员显示实现
- 接口成员的显示实现
- C# 中 显示实现接口 与 隐式实现接口
- C# (不实现接口成员)
- C#接口实现 - 第三节 定义接口成员
- 一小段代码演示C#接口的类级别实现和显式接口成员实现
- 显示接口成员实现(explicit interface member implementation)总结
- C# 接口的隐式与显示实现
- C# 接口的隐式与显示实现
- 【转】C# 接口的隐式与显示实现
- C# 接口的隐式与显示实现
- C# 接口的隐式与显示实现
- C# 接口的隐式与显示实现
- C# 接口,显示实现接口
- 显示接口实现与隐式接口实现
- C#接口显示实现
- 【简单计算】 oj102
- 图像处理3:摄像头捕获视频
- Set,List, Map各自实现类的比较
- uLua异常处理
- ADT导入Android工程,提示import android.content cannot be resolved
- C#隐式实现接口成员与显示实现接口成员
- 指导思想 博客名称、头像、个人主页简述
- 仅两个变量实现值的交换
- 用最简单的方法枚举法求最大公约数
- openresty-加强版的nginx
- 逆反的01串 oj105
- LeetCode-338. Counting Bits (Java)
- C++中的引用
- swift4.0 UITableView纯代码实现