クラスのメンバーはカプセル化されています。デフォルトのメンバータイプはpublicで、制限されたメンバータイプは保護されており、ローカルです。
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、エラー]
分析手順:
クロックckは最初にハンドルckを宣言し、次にオブジェクトnew()を作成します
ck.get_clock関数はオブジェクトのメソッドを呼び出しますが、ckは外部ハンドルに属しており、ローカル変数nclockにアクセスできません。ただし、ローカル変数には関数get_clockを介してアクセスできます。
クラスのメンバーの特徴は次のとおりです。