我對C#和OOP相當陌生,而且我有一個關於繼承的問題。繼承一個重載的方法
說我有:
public abstract class Command
{
protected Command()
{
}
public abstract string Execute();
public abstract string Execute(object o);
}
public class CommandA : Command
{
public override string Execute()
{
}
}
public class CommandB : Command
{
public override string Execute(object o)
{
}
}
有因CommandA
不執行Execute(object o)
和CommandB
不執行Execute()
明顯的錯誤。
我的問題是,是否有我需要執行的代碼來避免這些錯誤?是否允許空方法?
基類(其他類繼承的類)應該只有定義其他類共享的方法。 – EpicKip
也許'public abstract string Execute(object o = null);'? –
不需要。您將不得不重寫抽象類的抽象方法。 爲了避免它不讓基類作爲抽象。 – Manoj