Actually, I was not convinced that abstract should be used for that, instead of achieving it's original concept of
polymorphism.
But, I understand now, that("To avoid creating instance of a class") could be the only answer 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.
[ July 29, 2005: Message edited by: Arulkumar Gopalan ]