【文件属性】:
文件名称:静态方法-微积分入门Ⅰ 一元微积分 -(日)小平邦彦
文件大小:10.44MB
文件格式:PDF
更新时间:2021-07-10 01:05:58
System Verilog 中文
11.9 静态方法
第十一章 类
SystemVerilog 3.1a 语言参考手册
11.9 静态方法
第十一章 类
方法也可以被声明成静态的。一个静态方法遵从于所有的类范围和访问规则,但在表现上它就像一个常规的子例程一样可
以在类的外部被调用,即使没有该类的实例。一个静态方法不能访问非静态的成员(类属性和方法),但它可以直接访问
静态类属性或调用同一个类的静态方法。在一个静态方法体内部访问非静态成员或访问特殊的 this 句柄是非法的,并且会
导致一个编译错误。静态方法不能是虚拟的。
Copy Code
class id;
static int current = 0;
static function int next_id();
next_id = ++current; // 正确,访问静态类属性
endfunction
endclass
一个静态方法不同于一个具有静态生命周期的方法。前者指的是类内部的方法的生命周期,而后者指的是任务内部的参数
和变量的生命周期。
Copy Code
class TwoTasks;
static task foo(); ... endtask // 具有自动变量生命周期的静态类方法
task static bar(); ... endtask // 具有静态变量生命周期的非静态类方法
endclass