接口是啥? 简单来说就是一种约定,也是C#里面非常重要的.
我们知道在C#中一个派生类(子类)只能由一个父类,那要继承多种状态的时候怎么办呢,这个时候接口来了。
1.接口是一种约定
2.接口是抽象成员的集合
3.接口是引用类型,比抽象更为抽象
4.接口可以帮助实现多重继承
5.接口里的内容必须实现
6.接口没有字段 可以有方法、属性等
7.接口是公共的(public)
8.abstract 、public等 对接口声明无效
9(重要):接口本来就是公共的,所以不需要给修饰符,否则编译器报错
下面看一下接口定义的方式
interface 接口名字{//接口内容}
using System;
interface Eat//吃
{
void eat();//接口中的内容
}
public interface Fly//飞
{
void fly();//接口中的内容
}
class Bird : Eat, Fly//继承多个接口以逗号分割
{
public void eat()
{
Console.WriteLine("能吃");
}
public void fly()
{
Console.WriteLine("能飞");
}
}
public class MainClass
{
public static void Main()
{
Bird b = new Bird();//实例化
b.eat();//调用
b.fly();
}
}
输出: 能吃 能飞
在这个小列子中:
Bird继承了两个接口分别是Eat和Fly 并且实现了2个接口的功能,如果不实现C#会报错,前面说了接口本身就是一个约定,还是一个必须遵守的约定,不像父子类继承,可以不写父类中的内容而自动完成,不存在的老哥们。
也可以在继承父类的同时使用接口,也是用逗号分割。
有不对的地方 欢迎指正