if you have identified method signatures that apply to multiple subclasses but have different implementations in each subclass, use abstract classes to hide those distinctions. In the case of the timing mechanism, the RunTimer abstract class allows developers to avoid writing complicated benchmarking code again and again.
> I am little bit confuse regarding the benefits of the
> abstract classes. Can anybody helps me in this
> regard. I just want to know when and what situation
> we may decide that particular class needs an abstract
> method.
Sorry if I sound weary of this question, but it is asked about 3-4 times a week. Rather than have us go through this tired exercise again, please search the forum for previous threads on this subject. You'll find about a gazillion. In fact, it's often a good idea to search the forum before asking a question as very often it has been asked and answered before.