using System;namespace ConsoleApplication1 { class Class1 { //定义一个界面,使得从接口继承的类的实例都可以使用 public static void b(Parent p) { p.A(); } [STAThread] static void Main(string[] args) { Sub p = new Sub(); //不同的从接口继承的类的实例 Sub1 q = new Sub1();
b(p); b(q); } } public interface Parent { void A(); } class Sub : Parent { public void A() { Console.WriteLine("Sub.A()"); Console.ReadLine(); } } class Sub1 : Parent { public void A() { Console.WriteLine("Sub1.A()"); Console.ReadLine(); } } }
{
class Class1
{
//定义一个界面,使得从接口继承的类的实例都可以使用
public static void b(Parent p)
{
p.A();
}
[STAThread]
static void Main(string[] args)
{
Sub p = new Sub(); //不同的从接口继承的类的实例
Sub1 q = new Sub1();
b(p);
b(q);
}
}
public interface Parent
{
void A();
}
class Sub : Parent
{
public void A()
{
Console.WriteLine("Sub.A()");
Console.ReadLine();
}
}
class Sub1 : Parent
{
public void A()
{
Console.WriteLine("Sub1.A()");
Console.ReadLine();
}
}
}
VTAB 你可以把它看作一个数组 ,或一个指向函数集合的指针,(C++中数组,和指针的关系,你可以找书看看),数组中存的都是函数的地址,这些函数就是INTERFACE所要求别人实现的函数,
有兴趣可以和我联系
[email protected]
在实际编程中,尽量抽象出接口,然后以实现rroo(小巫) 所讲的“从接口派生出来的类,强行转换为接口后,可以透过该接口访问派生类的方法”