C#基础知识:接口-定义多种类型的行为

本文探讨了C#中接口的基础知识,强调接口是对非抽象类和结构行为的抽象,从C# 8.0开始允许接口成员有默认实现。接口成员默认为Public,且不能包含实例字段或构造函数。接口可以继承并组合多种成员类型,一个类可以实现多个接口。在C# 11及更高版本中,接口成员可以有静态和默认实现的特性。了解更多详情,可查阅微软官方文档。
摘要由CSDN通过智能技术生成

在我们使用C#开发项目时,难免会使用到接口,那么对于接口你了解多少呢?下面我们就来了解了解接口。

在微软的文档中给出了这么的定义:接口包含非抽象Class或struct必须实现的一组相关功能的定义。

简单来说,接口就是对非抽象类和结构的行为进行抽象。

既然是对行为进行抽象,那么接口中的行为肯定是不包含具体实现的。但是,在.NET Core 3.0上的C# 8.0开始,我们可以在声明接口成员时,定义实现。而在C# 8.0之前,给成员添加实现是绝对不行的,编译都不会通过。

还有,在C# 8.0 之前,接口中的成员是不能有修饰符的,所有的都隐式的具有Public访问属性。因为接口也算是抽象的一种,本身就是要求别人完成某些目的的契约,如果不是Public,那么实现该接口的类也无法看到该契约,那这接口也失去了意义。

关于修饰符请看下方个人做的对比表格:

C# 接口 C# 8.0之前 C# 8.0及之后版本
方法声明能否包含 public 修饰符 不能使用任何修饰符 可以使用Pub
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值