C#入门系列 -- 接口
【摘要】 接口概念C#提供了多种进行规模化程序设计会用到的技术,如接口、程序集、命名空间等,本篇文章介绍下接口。 接口是类和类之间的协议,使用接口可以使得实现接口的类或结构在形式上保持一致,使程序更加清晰和条理化,具有很好的扩展性,并可以方便实现类与类之间的统一管理,是组件技术的重要支撑。接口把所有的方法和属性都掏空了,接口内部只有声明没有实现代码。接口的声明语法如下:[修饰符] interfac...
接口概念
C#提供了多种进行规模化程序设计会用到的技术,如接口、程序集、命名空间等,本篇文章介绍下接口。
接口是类和类之间的协议,使用接口可以使得实现接口的类或结构在形式上保持一致,
使程序更加清晰和条理化,具有很好的扩展性,并可以方便实现类与类之间的统一管理,是组件技术的重要支撑。
接口把所有的方法和属性都掏空了,接口内部只有声明没有实现代码。
接口的声明语法如下:
[修饰符] interface 接口名
{
//接口体
}
代码示例:
public interface ITest
{
void Show();
}
接口声明
接口就是一组类或结构的一种实现形式约定。
声明接口时,需要遵守下面的规则:
- 接口声明不能包括数据成员;
- 接口声明只能包括成员类型为方法、属性、事件和索引的非静态成员函数的声明;
- 接口的函数成员声明不能包括任何实现代码,每个函数成员声明的主体后必须使用分号;
- 按照惯例,接口的名称必须从大写的I开始;
- 与类和结构相似,接口声明可以分割成分部接口声明;
- 接口声明可以使用所有的访问修饰符public、protected、internal和private;
- 接口的成员是隐式public的,不允许有任何访问修饰符。
C#虽然不支持类的多继承,但是C#支持接口的多继承,代码实现如下:
public interface ITest
{
void Show();
}
public interface ITest_A
{
}
public interface ITest_B: ITest, ITest_A
{
}
接口实现
只有类和结构可以实现接口。要实现接口,类或结构必须在基类列表中包括接口名称,并且必须为每一个接口成员提供实现。
实现接口时必须实现所有接口成员,否则就会出现编译错误:
代码示例:
public interface ITest
{
void Show();
}
class Test : ITest
{
public void Show()
{
Console.WriteLine("---");
}
}
补充说明:
-
如果类从基类继承并实现接口,则基类列表中基类名称必须放在任何接口之前。
-
C#支持一个类或结构实现多个接口,所有实现的接口必须在基类列表中用逗号分隔。
如果一个类实现了多个接口,并且其中一些接口有相同签名和返回类型的成员,则类可以实现单个成员来满足所有包含重复成员的接口,也可以通过显式实现方式分别实现每个接口的成员
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)