System verilog uvm_序列_项获取_类型_名称应为虚拟

System verilog uvm_序列_项获取_类型_名称应为虚拟,system-verilog,uvm,System Verilog,Uvm,查看uvm基类,我注意到uvm_sequence_item方法get_type_name没有定义为virtual。这意味着,如果我有一个向下转换为uvm_序列_项句柄的派生类,那么这个句柄上的get_type_name调用将返回错误的值?get_type_name在1.2中是virtual。以下是uvm_对象的源代码摘录: virtual function string get_type_name (); return "<unknown>"; endfunction 虚拟函数字符

查看uvm基类,我注意到uvm_sequence_item方法get_type_name没有定义为virtual。这意味着,如果我有一个向下转换为uvm_序列_项句柄的派生类,那么这个句柄上的get_type_name调用将返回错误的值?

get_type_name
在1.2中是
virtual
。以下是
uvm_对象
的源代码摘录:

virtual function string get_type_name (); return "<unknown>"; endfunction
虚拟函数字符串get_type_name();返回“”;端功能

get\u type\u name
uvm\u sequence\u项中不被覆盖。(那么您从哪里获得信息呢?)即使是,您也不必将方法标记为
virtual
如果基类方法是
virtual

我同意get\u type\u name在uvm\u对象中是virtual的,我说的是不是virtual的uvm\u sequence\u item方法。我在UVM1.1d``函数字符串get_type_name()中看到了这一点;返回“uvm_序列_项”;endfunction``那么你是说,既然基类方法是虚的,那么它在派生类中是否被重定义为非虚也没关系?这正是我要说的。