Les membres de la classe sont encapsulés. Le type de membre par défaut est public et les types de membres restreints sont protégés et locaux:
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, erreur]
Procédures d'analyse:
horloge ck déclare d'abord un handle ck, puis crée un objet new ()
La fonction ck.get_clock appelle la méthode de l'objet, mais ck appartient à un handle externe et ne peut pas accéder à la variable locale nclock. Mais la variable locale est accessible via la fonction get_clock.
Certaines caractéristiques des membres de la classe sont: