本帖最后由 曾玉锋 于 2013-3-13 18:57 编辑
接口类型提供某种功能,只要某个类实现了接口,那这个类就有了这个功能,而不同的类实现这个功能可能不同。
比如说一个接口IFly 提供一个void Fly(),有三个不相关的类(人、鸟、星体)都实现了IFly,都有了飞的方法,但是,人是"通过飞机飞的",鸟是"用翅膀飞的",星体则是"通过万有引力飞的"。
有一个方法
Fun(IFly fly)
{
//fly引用人类对象,则输出"通过飞机飞",
//fly引用鸟对象,则输出"用翅膀飞"
//fly引用星体,则输出"通过万有引力飞"
//...
fly.Fly();
}
将某个实现了该接口的子类对象传入,则表现该子类的行为。
接口类型是面向对象编程三大特性之多态必不可少的重要成员,也能使程序得到很好的扩展。 |