深入理解接口:从基础到高级应用
1. 接口基础与实现
接口在被类或结构体实现之前,其作用并不明显。例如, IPointy 接口表示“有尖点”的行为。在形状层次结构中,有些类(如六边形)有尖点,而有些类(如圆形)则没有。
当类或结构体选择通过支持接口来扩展其功能时,需在类型定义中使用逗号分隔的列表。要注意,直接基类必须是冒号运算符后面列出的第一项。若类直接从 System.Object 派生,可直接列出类支持的接口,因为若未指定,C# 编译器会将类型从 System.Object 扩展。结构体总是从 System.ValueType 派生,所以可直接在结构体定义后列出每个接口。以下是一些示例:
// 此类派生自 System.Object 并实现单个接口
public class Pencil : IPointy {...}
// 此类也派生自 System.Object 并实现单个接口
public class SwitchBlade : object, IPointy {...}
// 此类派生自定义基类并实现单个接口
public class Fork : Utensil, IPointy {...}
// 此结构体隐式派生自 System.ValueType 并实现两个接口
public struct Arrow : ICloneable, IPointy {...}
实现接口是一个“全有或全无”的命题,支持类型不能选择性地实现接口成员。以
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



