public interface ISpeak
{
void Speak();
}
public Cat:ISpeak
{
public override void Speak()
{
Say("喵~~~");
}
}
public Dog:ISpeak
{
public override void Speak()
{
Say("汪汪!");
}
}
public LZ:ISpeak
{
public override void Speak()
{
Say("靠!管我屁事!");
}
}
比如有一个ArrayList arrSpeak,存储许多能“说话”的生物吗,
我们就可以这样调用
foreach(object obj in arrSpeak) //实现基类中调用派生类功能
{
ISpeak speak = obj as ISpeak;
speak.Speak();
}