一.Interface的定义
Interface接口定义了可由类和结构实现的协定。 接口可以包含方法、属性、事件和索引器。 接口不提供所定义成员的实现,仅指定必须由实现接口的类或结构提供的成员。
二.Interface的使用
1.接口使用Interface关键字声明,它于类的声明类似。接口的声明默认是public。
2.接口不允许声明的成员有修饰符,接口是公有的。
3.接口不能有构造函数,也不能有字段,接口不允许运算符重载。
4.接口可以彼此继承,其方式和类的继承方式相同。
三.Interface的用处
1.实现不相关类的相同行为,不需要考虑这些类的层次关系
比如,我写一个Run接口,Cat和Dog属于两个不相关联的类,但是他们都具有共同的Run方法,所以我可以直接声明一个Run方法,Cat和Dog两个类同时继承Run这个接口,这个过程也不需要考虑Cat和Run两个类的层次关系。
2.通过接口可以了解对象的交互界面,而不需要了解对象所在的类
四.代码实现
定义一个IRun接口:
namespace Inter
{
interface IRun //接口默认为public类型
{
void Method1();
}
}
创建一个Cat类继承IRun接口:
namespace Inter
{
public class Cat : IRun
{
public void Method1() //实现IRun接口中的Method1方法
{
Console.WriteLine("兔子开始跑了!");
}
}
}
创建一个Dog类继承IRun接口:
namespace Inter
{
public class Dog : IRun //Dog类继承IRun接口
{
public void Method1() //实现IRun中的Method1方法
{
Console.WriteLine("狗开始跑了!");
}
}
}
在主函数中实现:
namespace Inter
{
class Program
{
public static void Main()
{
Dog dog = new Dog();
Cat cat = new Cat();
dog.Method1();
cat.Method1();
Console.ReadKey();
}
}
}