System verilog inheritance for sequences

If we have a child sequence which extends from parent sequence and child sequence doesn’t have body() task, does body() of parent sequence gets executed when we call child_seq.start(seqr) ?

Yes, derived class can access methods/properties of parent class, hence, the body() of parent sequence will get executed on call of child_seq.start(sqr);

Yes derived class can access methods / properties of parent class. Then why do we need to use super.body() in child’s body task?

Also when we call start() on any seq does start() execute body() of parent class automatically since it cannot find the body() task in child class or does it give error ?

  1. super.body() task call is optional in child class’s body task.
  2. If body() of class is implemented, then start() call executes body() of child. If not, then start() call executes body() of parent!