I have a class "Shape" which is a supertype of many other "shapes" in my app.
I have lots of empty methods on the Shape class which are declared as virtual / overridable, so there is not really any default bahaviour. Of course, some sub-shapes implement these methods.
I am really just using it so that I can treat all my shapes as Shape objects.
Is it bad to have these empty methods in my code? Any refactoring possible?