考虑以下代码:
// ======== Abstract class ========
public abstract class Creatures {
public abstract void loseEnergy();
public void execute()
{
loseEnergy();
}
}
// ======== Animals ========
public class Animals : Creatures
{
public override void loseEnergy(){}
}
public class Birds : Animals
{
public override void loseEnergy(){}
}
// ======== Human ========
public class Human : Creatures
{
public override void loseEnergy(){}
}
public class Male : Human
{
public override void loseEnergy(){}
}
public class Female : Human
{
public override void loseEnergy(){}
}
[此代码基于 Jayson 在此处建议的代码:“基类方法调用派生类方法?” ]
在给定的代码示例中,我想让运行时执行每个派生类对象的某个方法,在这种情况下,它是“loseEnergy()”,但是,我找不到解决方案。
我该如何解决这个问题?为了解决这个问题,知道或尝试什么有用?
非常感激你的帮助!谢谢!
亲切的问候,塞加拉
PS到目前为止我所做的一些搜索:
编辑:
我决定坚持我之前的想法,即拥有一些列表,其中包含具有“loseEnergy()”方法的类的对象。有了这样的列表,我将能够调用每个对象的方法“loseEnergy()”,这正是我想要的。
问题可以关闭。
谢谢你。