实现接口1
来源:互联网 发布:ubuntu 最大分辨率 编辑:程序博客网 时间:2024/05/21 15:00
第五节、实现接口
1、显式实现接口成员
为了实现接口,类可以定义显式接口成员执行体(Explicit interface member implementations)。显式接口成员执行体可以是一个方法、一个属性、一个事件或者是一个索引指示器的定义,定义与该成员对应的全权名应保持一致。
上面的代码中ICloneable.Clone 和IComparable.CompareTo 就是显式接口成员执行体。
说明:
1、不能在方法调用、属性访问以及索引指示器访问中通过全权名访问显式接口成员执行体。事实上,显式接口成员执行体只能通过接口的实例,仅仅引用接口的成员名称来访问。
2、显式接口成员执行体不能使用任何访问限制符,也不能加上abstract, virtual, override或static 修饰符。
3、显式接口成员执行体和其他成员有着不同的访问方式。因为不能在方法调用、属性访问以及索引指示器访问中通过全权名访问,显式接口成员执行体在某种意义上是私有的。但它们又可以通过接口的实例访问,也具有一定的公有性质。
4、只有类在定义时,把接口名写在了基类列表中,而且类中定义的全权名、类型和返回类型都与显式接口成员执行体完全一致时,显式接口成员执行体才是有效的,例如:
1、显式实现接口成员
为了实现接口,类可以定义显式接口成员执行体(Explicit interface member implementations)。显式接口成员执行体可以是一个方法、一个属性、一个事件或者是一个索引指示器的定义,定义与该成员对应的全权名应保持一致。
using System ; interface ICloneable { object Clone( ) ; } interface IComparable { int CompareTo(object other) ; } class ListEntry: ICloneable, IComparable { object ICloneable.Clone( ) {…} int IComparable.CompareTo(object other) {…} } |
上面的代码中ICloneable.Clone 和IComparable.CompareTo 就是显式接口成员执行体。
说明:
1、不能在方法调用、属性访问以及索引指示器访问中通过全权名访问显式接口成员执行体。事实上,显式接口成员执行体只能通过接口的实例,仅仅引用接口的成员名称来访问。
2、显式接口成员执行体不能使用任何访问限制符,也不能加上abstract, virtual, override或static 修饰符。
3、显式接口成员执行体和其他成员有着不同的访问方式。因为不能在方法调用、属性访问以及索引指示器访问中通过全权名访问,显式接口成员执行体在某种意义上是私有的。但它们又可以通过接口的实例访问,也具有一定的公有性质。
4、只有类在定义时,把接口名写在了基类列表中,而且类中定义的全权名、类型和返回类型都与显式接口成员执行体完全一致时,显式接口成员执行体才是有效的,例如:
class Shape: ICloneable { object ICloneable.Clone( ) {…} int IComparable.CompareTo(object other) {…} } |
- 实现接口1
- 实现接口1
- 接口与实现:实验1
- 实现接口
- 实现接口
- 接口实现
- 接口实现
- 接口----实现
- 全面剖析C#接口编程之实现接口 (1)
- SP 短信开发-PROVISION接口实现1
- 动态代理1 (JDK 需要实现接口)
- OLE文档接口(1)----粗略实现IPersistStorage
- 激活函数实现--1 接口设计
- java序列化1[实现Serializable接口]
- List接口实现类(1):ArrayList
- 接口(五)实现接口
- java接口 接口实现 继承
- C#接口-接口的实现
- 访问接口1
- 访问接口2
- C++语言常见问题解:#54 ~ #80
- C++语言常见问题解:#33 ~ #53
- 访问接口3
- 实现接口1
- C++语言常见问题解:#16 ~ #32
- 实现接口2
- 实现接口3
- C++语言常见问题解:#1 ~ #15
- 实现接口4
- 实现接口5
- 实现接口6
- XP终端服务远程登录批处理(邪恶八进制blog)