我希望你能幫助我這個C#的問題。我有一些類如: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);
我的問題是:我不想基類來了解移動所有細節,但我需要更多的參數或在行走功能不同動物不同的參數。 解決這個問題的好方法是什麼?
順便說一下,只有當不同的用戶(控制器)控制動物時才需要更改參數。
在閱讀您的評論之後,我決定使用一個簡單的UserController類,它具有所有用戶(更改參數)的詳細信息,並在將其發送給Animal類時將其發送給它。
不太確定你的意思是「我不想讓基類知道所有關於移動的細節」 – Alex
傳入一些包含所需細節的東西? '抽象無效步行(IWalkDetails walkDetails)' –
嗯謝謝亞歷克斯。我想這不可能在不知道所有細節的情況下定義一個控制器。 –