类的成员具有封装性,默认的成员类型为public,有限制的成员类型为protected和local:
class clock
local bit is_summer = 0;
local int nclock = 6;
function int get_clock();
if(!is_summer) return this.nclock;
else return this.nclock+1;
endfunction
function bit set_summer(bit s);
this.is_summer = s;
endfunction
endclass
clock ck;
initial begin
ck = new();
$display("now tome is %0d", ck.get_clock());
ck.set_summer(1);
$display("noe time is %0d", ck.nclock);
end
[6,报错]
分析程序:
clock ck先声明了一个句柄ck,接下来创建一个对象new()
ck.get_clock函数调用了对象的方法,但是ck属于外部的句柄,无法访问local中的变量nclock。 但是可以通过函数get_clock访问local变量。
类的 成员具有的一些特性有: