In reply to kireeti1192:
For example, uvm_object is an abstract class. It would make no sense to construct a uvm_object by itself with extending it first and constructing the extension. By declaring the class abstract, it makes it a requirement.
btw, This terminology comes from other programming languages even though the keyword virtual is used to designate an abstract class.