Abstract class is used to define template class. This class defines non-virtual/virtual/pure virtual methods prototype which are implemented by extended class. By use of abstract class, extended classes are required to implement methods as per definitions given in abstract class.
Objects of abstract class can not be created. Class uvm_object in UVM base class library is an example of abstract class.