私はC#とOOPにはかなり新しいので、継承に関する質問があります。1つのオーバーロードされたメソッドを継承します
は、私が持っていると言う:
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)
{
}
}
Execute()
を実装していないExecute(object o)
とCommandB
を実装していないCommandA
による明らかなエラーがあります。
私の質問は、これらのエラーを回避するために実装する必要があるコードがあるかどうかです。空のメソッドは許可されていますか?
基本クラス(他のクラスが継承するクラス)は、他のクラスが共有するメソッドだけを定義する必要があります。 – EpicKip
'public abstract string Execute(オブジェクトo = null);'? –
いいえ。抽象クラスの抽象メソッドをオーバーライドする必要があります。 それを回避するには、抽象クラスとして基本クラスを作成しないでください。 – Manoj