Need of super.build_phase(phase)

We recommended using the build_phase instead of putting any code inside the constructor method new(). You can choose to call super.build_phase() in an extended class depending on whether you want to completely override or add the the existing functionality in the base class build_phase()
You can’t completely override a constructor because SystemVerilog requires that the extended class constructor call super.new() as the very first statement.

You only need super.build() in your base class’s build_phase if you are using the field automation macros for them do their magic. We strongly discourage the use of field automation macros because of their performance overhead.