SONI
Answered On : Sep 12th, 2011
When at least one of the methods in the class is abstract. When the class itself is inherited from an abstract class, but not all base abstract methods have been over-ridden.

2 Users have rated as useful.
Login to rate this answer.
In your s/w u come across a family of related with common and some uncommon behavior then go for abstract class
example:common behavior like you have animal namespace that contain fox,Elephant,Dog.All classes having common behavior like walk.sleep,eat but way to perform action is different.
Uncommon: uncommon behavior like sound (sound is different for each),eat(some animal are vegetarian and some are non-vegetation)
other :
In Hospital project Nurse,Doctor,Receptionist contain same name method may be with different. code(EX:GetEmployename,Getsalary etc.)
Login to rate this answer.
When you do not want to create an object of the class and want to provide some abstract implementation
ex: Class HumanBeing. No Point of creating a class human being. You can create Men or Women out of it an create an object of the derived class
Login to rate this answer.
If any of the methods do not have implementation.
Login to rate this answer.