码迷,mamicode.com
首页 > 其他好文 > 详细

UVM Primer - OOP基础 - 定义类

时间:2020-02-26 10:26:03      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:return   color   mod   指针   rect   描述   命名   保存   fun   

 1   class rectangle;
 2     int length;  //类的数据成员
 3     int width;
 4     
 5     function new(int l, int w);   //类的构造函数
 6       length = l;
 7       width  = w;
 8     endfunction
 9     
10     function int area;  //方法
11       return length * width;
12     endfunction
13   endclass : rectangle
14 
15   
16   module top_rectangle ;
17 
18     rectangle rectangle_h; //声明了一个rectangle类型的变量。我们把它命名为rectangle_h,它是个指向长方形类的句柄。句柄类似于内存指针,不同的是句柄不能拿来运算。这句定义为句柄分配了足够的内存了,不过还没为对象分配内存
19 
20     initial begin
21 
22       rectangle_h = new(.l(50),.w(20)); //我们用new()函数创建一个长度50宽度20的长方形,是在这里为对象分配的内存。           
//这个叫做例化对象。我们可以描述这一步为例化rectangle类的一个对象,并用rectangle_h变量来保存           
//调用new()的时候为我们的新对象分配内存,我们不再引用的时候回收内存。
23 
24       $display("rectangle area: %0d", rectangle_h.area()); //有了保存在rectangle_h变量中的rectangle对象之后,我们可以用area()来计算长方形的面积了。
25 
26     end
27 endmodule : top_rectangle

 

UVM Primer - OOP基础 - 定义类

标签:return   color   mod   指针   rect   描述   命名   保存   fun   

原文地址:https://www.cnblogs.com/yiyedada/p/12365454.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!