就在我以为自己理解了继承权时,我就陷入了一个问题......
让我们说我有一个抽象类Animal和几个派生类,如下所示:
public abstract class Animal
{
public abstract int Age{get;set;}
public abstract bool Hungry{get;set;}
};
public class Dog:Animal
{
public bool PottyTrained{get;set;}
}
public class Cat:Animal
{
public int MiceKilled{get;set;}
}
我现在想要一种可以同时处理Dogs和Cats的方法。我以为我可以这样做:
public List<Animal> FeedAnimals(List<Animal> InAnimals)
{
foreach(var animal in InAnimals)
{
animal.Hungry = false;
}
return InAnimals;
}
但是当我尝试它时,编译器告诉我&#34;无法转换...&#34; ...
我做错了吗?这是因为我通过了名单吗?有什么方法吗?