Actually I know that abstract classes can not be instantiated. But, am not convinced that abstract should be used for that, instead of achieving it's original concept of
polymorphism.
But, i understand now this is also a purpose from the below explanation.
Sometimes, a class that you define represents an abstract concept and, as such, should not be instantiated. Take, for example, food. Have you ever seen an instance of food? Probably not. What you see instead are instances of carrot, apple, and chocolate chip cookies. Food represents the abstract concept of what we can eat. It doesn't make sense for an instance of food to exist.
thx.