简单理解
接口就是一种规范。接口都是制定了一个规范。遵循了一个规范。想实现接口就要遵循他的规范。接口可以是一种能力。就会实现了这个接口,实现了接口,接口中的中的东西你都可以使用。不要说那个类继承了那个接口,但是可以说是实现了这个接口。
定义一个接口:
interface Ifly //关键字 interface。可以在前面加上访问修饰符
{
void Ifly();//没有任何参数,简单的
}
}
例子:
static void Main(string[] args)
{
Ifly ifly = new Teacher();//实现接口之后就可以直接使用
ifly.Ifly;
Console.ReadKey();
}
}
public class Person
{
//一些属性的定义
}
public class Teacher:Person,Ifly //继承person。接口写在继承后面
{
public void Say()
{
Console.WriteLine("hellow,我是老师");//重写了person的方法
}
public void Ifly()
{
Console.WriteLine("我也会飞。");//方法
}
}
public class Student :Ifly //实现了接口
{
public void Say()
{
Console.WriteLine("我是学生");//重写了person的方法
}
public void Ifly()
{
Console.WriteLine("我会飞");//方法
}
}
对比接口和抽象类
接口可以实现其他的接口,一个接口拿过来之后必须实现之后才能够使用。作为一种规范,在使用的时候有些规则必须要遵守。这也是不能够避免的,这样对于我们的实现接口会带来便利。当我们需要某个规范类型的接口的时候直接拿过来使用。有点类似于模板的感觉。提供方便。