Okay so basically I have the following problem: I\'m trying to have an abstract class inherit another abstract class that has an abstract method, but I don\'t want to implement
You don't need to declare execute()
in the Binary class since it's already inherited from Command. Abstract methods don't need to be implemented by other abstract classes - the requirement is passed on to the eventual concrete classes.
public abstract class Command
{
public abstract object execute();
}
public abstract class Binary : Command
{
//the execute object is inherited from the command class.
}
public class Multiply : Binary
{
public override object execute()
{
//do stuff
}
}
Just omit the declaration of execute()
in Binary
at all. Since Binary
is abstract as well, you don't have to implement any abstract methods of its ancestors.