在前面学过多态能使用类之间的继承关系来实现,通过多个类继承同一个接口,并实现接口中的成员也能完成多态的表示。
使用接口实现多态 需要满足以下两个条件。
假设接口名称为 ITest,分别定义两个实现类来实现接口的成员,示例代码如下。
interface ITest { void methodA(); } class Test1 : ITest { public void methodA() { Console.WriteLine("Test1 类中的 methodA 方法"); } } class Test2 : ITest { public void methodA() { Console.WriteLine("Test2 类中的 methodA 方法"); } }
使用多态的方式调用实现类中的方法,Main 方法中的代码如下。
class Program { static void Main(string[] args) { ITest test1 = new Test1(); //创建接口的实例test1指向实现类Test1的对象 test1.methodA(); ITest test2 = new Test2(); //创建接口的实例test2指向实现类Test2的对象 test2.methodA(); } }
执行上面的代码,效果如下图所示。