C#接口实现多态

我比较喜欢对感兴趣的理论进行反复的理解甚至理解背诵下来,接下来再复习一下什么叫多态(哈哈哈)spa

多态:在同一粒度视图下对相同类型的事物不作区别的统一处理code

接下来看一下接口和引擎类是如何实现多态的:对象

1、blog

一、建立了一个接口类:IWeapon继承

1 public interface IWeapon 2  { 3         void Fire(); 4     }

二、声明几个类去实现这个接口(展现描述的词语是我老师的佳做,我但是软妹子(哈哈哈))接口

 1  public class Gun : IWeapon  2  {  3         public void Fire()  4  {  5             Console.WriteLine("pa peng pa peng");  6  }  7  }  8 
 9     public class Sword : IWeapon 10  { 11         public void Fire() 12  { 13             Console.WriteLine("七剑下天山"); 14  } 15 
16  } 17 
18     public class Tank : IWeapon 19  { 20         public void Fire() 21  { 22             Console.WriteLine("压死你"); 23  } 24  } 25 
26     public class Xiaomugun : IWeapon 27  { 28         public void Fire() 29  { 30             Console.WriteLine("扎死你"); 31  } 32     }

三、建立一个引擎类:Engine(以接口为参数)it

1 public static void Play(IWeapon w) 2  { 3  w.Fire(); 4         }

四、在程序入口处调用引擎类,实现多态class

1 InterfaceDemo.Engine.Play(new InterfaceDemo.Gun()); 2 InterfaceDemo.Engine.Play(new InterfaceDemo.Sword()); 3 InterfaceDemo.Engine.Play(new InterfaceDemo.Tank()); 4 InterfaceDemo.Engine.Play(new InterfaceDemo.Xiaomugun());

上面调用的结果是:程序

1 pa peng pa peng 2 七剑下天山 3 压死你 4 扎死你

顺便复习一下抽象类和接口的一点小区别:static

一个类能够去实现多个接口,表示这个类的对象能够作什么

一个类只能继承一个抽象类,至关于派生类是一个抽象类的意思,从属关系比较紧凑

相关文章
相关标签/搜索