1.接口中不能有属性(接口不能保存数据)和访问修饰符(默认是public),
接口中多只定义方法,并且不能有任何实现(与抽象类中的抽象方法类似)
2.接口和抽象类类似,不能被实例化
3.所有实现接口的类都可以装在接口定义的变量中
4.接口表示一种能力,
只要一个类继承了这个接口,就说明这个类具体接口定义的所有的能力(接口中定义的方法必须全部实现)
5.c#中类是单根继承,
一个类只能有一个父类,但可以继承实现很多接口
6.
一个接口可以继承多个接口(接口与类的重要区别)
7.如果几个对象都具有共同的一种能力,但除此之外,又实在找不出其它的相同点,可
以把表示这种能力的接口抽象出来,让不同的类去继承这个接口
接口使用的实例程序:
class Program
{
static void Main(string[] args)
{
IflyAble fei = new Helicopter();//new People(); //只要具有接口定义能力的类都可以用接口接收
fei.fly();
Console.ReadKey();
}
}
public interface IflyAble
{
void fly();
}
public interface Ispeakable
{
void speak();
}
public interface IspeakAndFlyable : IflyAble, Ispeakable //接口可以继承多个接口
{
}
public class People : Object
{
public void fly()
{
Console.WriteLine("我是会飞的人");
}
}
public class Yingwu : IspeakAndFlyable //继承这个接口表明此类具有会说的能力
{
public void speak()
{
Console.WriteLine("我是鹦鹉,我会说话");
}
public void fly()
{
Console.WriteLine("我是鹦鹉,我会飞");
}
}
public class Helicopter : IflyAble //继承这个接口表名此类具有会飞的能力
{
public void fly()
{
Console.WriteLine("我是会飞的直升飞机");
}
}