1、首先看一下接口的定义,在C#中接口使用Interface关键字,定义接口的方法跟定义类类似。下面定义一个IHowl接口,表示动物的叫声。如下图:
2、注意:接口中的方法前,不能加public、Private、Protected等关键字。 C#默认接口的所有方法都是Public的,不能更改。
3、定义Dog类,实现IHowl接口。 实现某某接口是编程语言的术语,同学们要习惯这种说法。 一个类实现某个接口,就是要实现接口中定义的所有方法。语法如下图所示:
4、然后选中接口,点击下面的小三角,选择实现接口IHowl。如下图所示,C#会自动补全接口函数语句。
5、修改函数体,输出狗的叫声为“汪汪”。如下图:
6、定义了接口,也定义了实现这个接口的类。那么重点来了,怎么使用接口呢?咱们接往下看。
7、在Main函数中,输入如下图的代码。同学们发现问题没有,我定义的是IHowl类型的筐毙险裆变量Animal。但是却给他赋值Dog类型的变量。编译器没有给报错,代码也可以正常运行,输出“汪汪”。
8、这就是接口的用法。定凶及淄靥义一个接口,然后赋值给它实现了该接口的类,通过接口就可以调用接口中的类。有的同学可能会有疑问,我直接定义一个Dog类,然后直接调吹涡皋陕用Dog的howl方法,不是也行吗?为什么还要绕一个大圈,去定义接口呢。好,咱们接着看下面的例子。
9、我现在又有了一个Cat类,让这个类也实现IHowl接口。如下图:
10、如果我们想要猫的叫声,只需要修改一个地方就可以了。把Main函数中的 New Dog() 改成 new Cat()。咱们试一下,
11、可以正确输出“喵喵”。
12、发现了没,接口可以根据赋值给它的类型不同,而自定去调用不同的方法。如果再加一种动物,也是只需要修改New的部分,后续的代码不需要动。
13、好的,讲到这里接口的基本功能鲍冢侔哒差不多讲完了。按照惯例,总结一下:1.定义接口的关键字是Interface。2.接口定义出来,是需要类去实现它的。无法直接New出一个接口。3.接口可以根据赋值的恽贴淑溪类不同,自动调用不同的方法。4.接口中定义的函数,前面不能加任何修饰词。上面讲的是接口的基本用法,还有一些接口的特性,没涉及到。像接口的显式/隐式实现,接口如何实现类之间的隔离等。别着急,这些内容后续我们都会讲到。