以下のコードのオブジェクトは、一度だけインスタンス化されていますよね? したがって、インスタンス化された単一のオブジェクトには、値が 2 である単一の整数 i フィールドが含まれている必要があります。2 ではなく 1 が返されるのはなぜp.i
ですか? これは SystemVerilog に固有のものですか? それとも、すべての oop 言語が同様に動作しますか?
class Packet;
integer i = 1;
function integer get();
get = i;
endfunction
endclass
class LinkedPacket extends Packet;
integer i = 2;
function integer get();
get = -i;
endfunction
endclass
LinkedPacket lp = new;
Packet p = lp;
j = p.i; // j = 1, not 2
j = p.get(); // j = 1, not -1 or –2
ありがとう