当父类和子类有相同名字的方法(包括function和task),子啊子类里面调用该方法名,会使用子类内的方法;若在子类里面想要使用父类的方法,此时就需要使用super来调用。
例子如下图所示:
class a;
function display_more(int a);
$display("a=%0d",a);
endfunction
endclass
class b extends a;
function display_more(int a);
$display("b=%0d",a);
endfunction
function compare_diff(int a);
display_more(a); //调用子类内方法
super.display_more(a); //调用父类中的方法
endfunction
endclass
program super_test;
b b1;
initial begin
b1 = new();
b1.compare_diff(1);
end
endprogram
运行结果为:
b=1
a=1