这是【C# 教程系列第 13 篇】,如果觉得有用的话,欢迎关注专栏。
一:什么是接口? 接口是指定一组函数成员而不实现他们的引用类型。 所以只能类和结构来实现接口,在继承该接口的类里面要实现接口的所有方法。
二:为什么要使用接口? 接口为后续的代码编写与程序开发定制了一个“协定”,也就是一个规范。 之后不管代码由谁来编写,都以预先设计好的接口为基准,也可以对项目的后续扩展起到一定的约束作用。 接口就好比每个国家都会制定一部宪法,然后其他的法律条文都以宪法为底本来进行补充和深化。
三:如何定义接口 定义接口使用 interface 关键字,如下代码所示,定义了一个 IBook 接口。
public interface IBook
{
}
在命名接口时,根据习惯,会在前面加上一个大写字母 “I” 。
四:定义接口时的注意事项 4-1:接口声明不能包含以下成员: 数据成员、静态成员。 4-2:接口声明只能包含如下类型的非静态成员函数的声明: 方法、属性、事件、索引器。 4-3:函数成员的声明不能包含任何实现代码。 4-4:接口声明可以有任何的访问修饰符,public、protected、internal、private。 4-5:接的成员是隐式public的,不允许有任何的访问修饰符,包括public。
五:接口的实际举例。 例子是我从一篇博客里看到的,原文链接:https://www.cnblogs.com/hamburger/p/4681681.html 原文作者写的有点长,但是能很完美的让你知道什么是接口以及接口的实际用途。 但经我实测后有两个问题需要纠正一下,这里我把这两个问题写出来
错误一:原文作者在写第一次写 Animal 类时,所有子类去实现 Animal 类的 LikeFood() 方法时,都输出的是父类里的 LikeFood 方法的内容,而不是每个子类自己的。 这里我在父类里用了virtual关键字修饰,然后子类去重写(override)父类的方法实现了功能。
错误二:原文作者将 Animal 类修改为接口时,用了 public void LikeFood();参考4-5可知,在程序里这样写是会报错的,需要把 public 修饰符给去掉。
不过原文作者也事先声明了是在 txt 里写的,不保证可以正确运行,所以咱们还是不能眼高手低啊。
接口的实际举例:我的CSDN博客链接:https://blog.csdn.net/qq_42351033/article/details/87474779
你的问题得到解决了吗?欢迎在评论区留言。
赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。
结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。