接口

接口用于定义一组函数声明,任何继承了接口的类都要实现接口中的函数.

接口中只能定义方法、属性、索引器和事件声明,所有这些声明都为public(不需要指示,并且不能为private,protected等)
public interface IClass1
{
    
object this[int index] { getset;}
    
string ClassName { getset; }
    
void DoNothing();
    
event EventHandler OnOoxx;
}

C#中的类只支持单继承,但通过继承接口,可以将类看成多种类型。在C#中实现接口可以有下面两种方法:
隐式接口实现:
public interface IComparable 
{
    Int32 CompareTo(
object other);
}

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

隐式接口实现中的接口方法在对象生存期内是公开的,可以直接访问:
Class1 c1 = new Class1();
c1.CompareTo(
1);
而显示接口实现中的接口方法是IComparable接口的私有方法,不能通过对象直接访问:
Class2 c2 = new Class2();
((IComparable) c2).CompareTo(
1);




posted @   蛤蟆  阅读(507)  评论(1编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示