In reply to dave_59:
Great explanation!
But please can you give one realtime application/example where we use abstract class. So that we will be more clear why we need abstract class?
I know that UVM base classes are abstract class. Why UVM developers have not used normal classes as base classes?