c#继承需要简单的解决方案

时间:2017-07-04 13:15:23

标签: c#

我希望你能帮助我解决这个问题。 我有一些类:

public abstract class Animal
{
  public abstract void Walk(int param1,int param2);
}
public class Cat : Animal
{
  public override void Walk(int param1,int param2){}
}
public class SmallCat : Cat
{
  public override void Walk(int param1,int param2){}
}
public class Dog : Animal
{
  public override void Walk(int param1,int  param2){}
}

我有一个适合所有动物的控制器课程。

someAnimal.Walk(a,b);

我的问题是:我不希望基类知道有关移动的所有细节,但我需要更多参数或不同动物的Walk函数的不同参数。 什么是解决这个问题的好方法?

顺便说一下,只有当不同的用户(控制者)控制动物时才需要更改参数。

阅读完评论后,我决定使用一个简单的UserController类,它包含所有用户(更改参数)的详细信息,并在控制它时将其发送给Animal类。

1 个答案:

答案 0 :(得分:-3)

我认为每次调用方法时可能会改变的步行通用参数可能是长度和速度。任何其他特定于具体实例的参数都可以在构造时或通过mutator提供给实例。