I would suggest you to go with the below:
public class A
{
public virtual void OverridableDraw()
{
DrawCircles(); // declare all those which can be overrided here
}
public void Draw()
{
DrawRectangles(); // declare methods, which will not change
}
}
public class B : A
{
public override void OverridableDraw()
{
// just override here
}
}
The Idea is to override only those, which tends to change.
Then, you can call both the methods.
OverridableDraw();
Draw();