接口
接口用于定义一组函数声明,任何继承了接口的类都要实现接口中的函数.
接口中只能定义方法、属性、索引器和事件声明,所有这些声明都为public(不需要指示,并且不能为private,protected等)
C#中的类只支持单继承,但通过继承接口,可以将类看成多种类型。在C#中实现接口可以有下面两种方法:
隐式接口实现:
隐式接口实现中的接口方法在对象生存期内是公开的,可以直接访问:
接口中只能定义方法、属性、索引器和事件声明,所有这些声明都为public(不需要指示,并且不能为private,protected等)
public interface IClass1
{
object this[int index] { get; set;}
string ClassName { get; set; }
void DoNothing();
event EventHandler OnOoxx;
}
{
object this[int index] { get; set;}
string ClassName { get; set; }
void DoNothing();
event EventHandler OnOoxx;
}
C#中的类只支持单继承,但通过继承接口,可以将类看成多种类型。在C#中实现接口可以有下面两种方法:
隐式接口实现:
public interface IComparable
{
Int32 CompareTo(object other);
}
public class Class1 : IComparable
{
// IComparable 接口成员实现
public Int32 CompareTo(object other) {
}
}
显示接口实现:{
Int32 CompareTo(object other);
}
public class Class1 : IComparable
{
// IComparable 接口成员实现
public Int32 CompareTo(object other) {

}
public class Class2 : IComparable
{
// IComparable 接口成员实现
Int32 IComparable.CompareTo(object other) {
}
}
{
// IComparable 接口成员实现
Int32 IComparable.CompareTo(object other) {

}
隐式接口实现中的接口方法在对象生存期内是公开的,可以直接访问:
Class1 c1 = new Class1();
c1.CompareTo(1);
而显示接口实现中的接口方法是IComparable接口的私有方法,不能通过对象直接访问:
c1.CompareTo(1);
Class2 c2 = new Class2();
((IComparable) c2).CompareTo(1);
((IComparable) c2).CompareTo(1);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现