下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、面向对象编程OOP一、OOP术语1. class类:包含变量和子程序的基本构建块。2. 对象:类的一个实例。3. 句柄:指向对象的指针,一个OOP句柄就像对象的地址,但是它只 能保存在一个只能指向单一类型数据类型的指针中。4. 属性:存贮数据的变量。5. 方法:任务和函数二、创建新对象1. 区别 Verilog 和 SV(1) Verilog中的一个模块是在代码编译的时候例化的。SV中是运 行测试平台时需要的时候才被建立的。(2)Verilog的例化是静态的,像硬件一样,只有信号值得变化。SV激励对象不断地被创建并且驱动 DUT最后这些对象所占用的内存 可以被释放供新对象使用。(3)Veril
2、og的顶层模块不会被显示的例化,但是 SV类在使用之前 必须要先例化。(4)Verilog实例名只可以指向一个实例。而 SV句柄可以指向很多 对象,当然一次只能指向一个。2.构造函数new ():例化一个对象时,相当于为对象申请一个新的内存来保存对象的变量。不能有返回值,因为其返回的是指向一个类对象的句柄, 其类型就是类本身。当出现多个同名的对象时,至于new()调用的是哪个new()函数,这取决于赋值操作符左边的句柄类型Trans tr; /声明一个句柄,初始化为特殊值nulltr =new(); II为一个Trans对象分配空间,将变量初始化为默认值,二值的为0,四值的为x.并返回保存对象
3、的地址3将声明和创建分开:若同时会引起顺序问题。若忘记使用automatic存储空间,构造函数将在开始仿真时,而非进入块的时候调用。*4.声明一个句柄来创建一个对象,在仿真中一个句柄可以指向多个对象。Trans tr1,tr2;声明两个句柄tr1=n ew();为第一个类对象分配地址空间tr2=tr1;/复制,指向同一个地址,都指向第一个对象tr1=n ew();为第二个Trans对象分配地址*5.SV中分辨对象不再被引用的方法是记住指向它的句柄的数量,当最后一个句柄不在引用某个对象了, SV就将释放这个对象。三、静态变量1.静态变量使用范围只在这个类中。通常在声明时初始化,引用时无需句柄,可
4、以用作用域操作符:2. 不允许静态方法读写非静态变量四、类的方法默认为自动存储五、this是什么?将局部变量赋给类一级变量class tr;stri ng a;fun cti on n ew(str ing a);this.a二a; /类变量a二局部变量aendfun cti onen dclass六、在类内使用另一个类:通过指向对象的句柄,一个类内部可以包含另一个类的实例。在调用其他类的成员时要记得例化,否则句柄为null,调用失败,一般在构造函数中实现例化。七、动态对象:在00冲可能有很多对象,但是只有少数句柄。句柄 可能存储在数组或者队列中1将对象传给方法:当调用方法的时候,传递的是对象
5、的句柄而不是 对象本身。2当调用一个标量变量(存储单个数据,不是数字也不是对象)的方 法时并且使用ref关键词,SV传递该标量变量的地址,所以方法可 以改变标量变量的值。若不带ref则是把标量变量的值复制到参数变 量中,对该参数变量的任何改变不会影响原变量的值。若忘记给参数前加ref则在方法的内部对参数的修改不会被调用该方法的代码看 到*3.方法可以改变一个对象,即使方法的句柄参数没有使用ref关键词。因为方法可以在不改变句柄的情况下,将对象改变。如果不想让 对象在被方法调用中改变,那就传递一个对象的拷贝给方法,这样就 明,尽管在sss中修改了参数tr,调用块中的句柄t仍是null。funct
6、ionvoid sss(trans tr); / 应改为(ref trans tr )tr=n ew();tr.addr=42;en dfucti ontrans t;in itial beg insss(t);/创建一个 trans$display(t.addr);失败,因为 t=nullend4.句柄数组:保存并且引用多个对象,数组的每一个元素指向一个对 象(或者多个对象?),由句柄构成,而不是对象构成,所以需要 在使用它们之前创建所有对象。*5对象的复制:防止对象的方法修改原始对象的值(1)浅复制(shallow copy)使用new复制一个对象,句柄 的复制而不是数据data的复制Trans src,dst;in itial begi nsrc=n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- XX区实验初级中学2026年春季学期初二班主任后进生转化帮扶方案
- 单招一类简章题目及答案
- 刘强东回应考勤制度
- 为何用考勤制度
- 乡镇卫生院请考勤制度
- 河北省保定市竞秀区2025-2026学年高三(上)期末物理试卷(含答案)
- 安徽省蚌埠市龙子湖区2025-2026学年八年级上学期期末地理试题(无答案)
- 少先队员考勤制度
- 山东事业单位考勤制度
- 工作人员学法考勤制度
- 服装导购员合同
- 车站超市经营方案
- 放弃继承权声明书(模板)
- (完整)博士生求职简历模版
- 人生规划全面指导PPT模板
- 室内装饰施工进度横道图
- 停用加气站处置方案
- 小学英语科普版单词表三至六年级词汇表-合并方便打印版-(带音标按单元顺序)(三年级至六年级全8册)1850
- DB1410-T 110-2020 地震宏观观测网建设和管理要求
- 园艺植物种子加工、贮藏与运输-园艺植物种子贮藏与运输(园艺植物种子生产)
- 《创新创业基础》教案
评论
0/150
提交评论