继承只能在一个方向上工作吗?

时间:2018-04-19 12:52:52

标签: c# .net oop inheritance

就在我以为自己理解了继承权时,我就陷入了一个问题......

让我们说我有一个抽象类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; ...

我做错了吗?这是因为我通过了名单吗?有什么方法吗?

0 个答案:

没有答案