Originally posted by Sri Addanki:
1. Not only an abstract class, but also in a true concrete class you find the same question. "Can this class exists all by itself? "-definitely not.
Because a class is not a real world object, meaning ANY CLASS can't exist on its own.
2. Also, my next question is, why do we need to make a method abstract? Is it because we don't know any details of the behaviour till the last minute?
3. Also why can't we then just write any plain concrete class and over-ride those methods in the subclasses?
4. I see abstract class stands in between a pure concrete class and an interface, can someone elaborate on this?
The question you asked:
"Does it make sense to have a direct instance of this class?"...... applies not only for abstract class but also applies for any concrete base class that needs to be subclassed.
What makes a method abstract?
Does using abstract,is to say that definitely these are the methods you should override in the derived classes? and what else makes a method abstract?