接口的显示实现和隐式实现一点笔记
2015-07-30 10:42
197 查看
博客迁移
隐式实现 不知道成员的归属
显示实现 显示指定成员的归属(通过 接口名.成员 )
显式实现避免了成员归属混淆不清的情况,特别是多个接口中有相同的成员,或者接口中成员和类自己的成员冲突的情况。
有时某个类往往会继承多个接口,而接口中往往会有一些相同名称、参数与类型的值。通过显式接口实现可以为避免一些不必要的歧义。
隐式接口实现,类和接口都可访问接口中方法。显式接口实现,只能通过接口访问。
注意:显式实现的成员不能用public来修饰,所以该成员不能通过该类来访问,只能通过接口访问。
比如
结:2015.7.30改
隐式实现 不知道成员的归属
显示实现 显示指定成员的归属(通过 接口名.成员 )
显式实现避免了成员归属混淆不清的情况,特别是多个接口中有相同的成员,或者接口中成员和类自己的成员冲突的情况。
隐式实现 public interface IBaseInterface1 { void Method1(); void Method2(); } public interface IBaseInterface2 { void Method1(); void Method2(); } public class Test : IBaseInterface1, IBaseInterface2 { public void Method1() { } public void Method2() { } }
显式实现 public interface IBaseInterface1 { void Method1(); void Method2(); } public interface IBaseInterface2 { void Method1(); void Method2(); } public class Test1 : IBaseInterface1,IBaseInterface2 { void IBaseInterface1.Method1() { } void IBaseInterface1.Method2() { } void IBaseInterface2.Method1() { } void IBaseInterface2.Method2() { } }
有时某个类往往会继承多个接口,而接口中往往会有一些相同名称、参数与类型的值。通过显式接口实现可以为避免一些不必要的歧义。
隐式接口实现,类和接口都可访问接口中方法。显式接口实现,只能通过接口访问。
注意:显式实现的成员不能用public来修饰,所以该成员不能通过该类来访问,只能通过接口访问。
比如
Test1 test = new Test1(); test.Method1();//调用会出错 这样调用是调不到的 IBaseInterface1 itest = test as Test1; itest.Method1();
结:2015.7.30改
相关文章推荐
- fastjson处理接口时的一个问题
- c#调用COM组件
- 局域网与广域网接口标准
- RJ-45接口信号定义
- DVI 视频接口图文解析
- C#实现把指定数据写入串口
- C#中抽象方法与虚拟方法的区别
- c#中虚函数的相关使用方法
- C#实现多线程的同步方法实例分析
- C#中尾递归的使用、优化及编译器优化
- C#通用邮件发送类分享
- C#中this的用法集锦
- C#.NET获取拨号连接的宽带连接方法
- C#实现AddRange为数组添加多个元素的方法
- C#中Equality和Identity浅析
- C#生成饼形图及添加文字说明实例代码
- C#判等对象是否相等的方法汇总
- C#简单的向量用法实例教程
- C#实现基于链表的内存记事本实例
- Asp.Net MVC 插件化开发简化方案