c#多态的重要实现-接口

来源:互联网 发布:linux vi 不保存 编辑:程序博客网 时间:2024/05/16 03:07

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("我是会飞的直升飞机");        }    }


 
0 0
原创粉丝点击