您当前的位置: 首页 >  c#

Allen Su

暂无认证

  • 2浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【C# 教程系列第 13 篇】什么是接口?

Allen Su 发布时间:2019-02-16 19:55:35 ,浏览量:2

这是【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

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0482s