IC验证零基础学习-System Verilog-(五/八)面向对象编程基础/面向对象编程的高级技巧指南

IC验证零基础学习-System Verilog-(五)面向对象编程基础
1、概述
面向对象编程(OOP)使用户能够创建复杂的数据类型,并且将它们跟使用这些数据类型的程序紧密地结合在一起。
类:封装了数据和操作这些数据的子程序。
2、OOP术语
1)类(class):包含变量和子程序的基本构建块。
2)对象(object):类的一个实例。
3)句柄(handle):指向对象的指针。
4)属性(property):存储数据变量。
5)方法(method):任务或者函数中操作变量的程序代码。
6)原型(prototype):程序的头,包括程序名,返回类型和参数列表。
3、创建新的对象
1)

Transaction tr;		//声明一个句柄
Tr = new();

在声明句柄tr的时候,它被初始化为特殊值null。接下来调用new()函数来创建Transaction对象。
2)将声明和创建分开
3)new()与new[ ]的区别
new()函数仅创建了一个对象,使用参数设置对象的数值。
new[ ]操作建立了一个含有多个元素的数组,使用一个数值来设置数组的大小。
4)声明一个句柄来创建一个对象,在一次仿真中,一个句柄可以指向很多对象。
5)每一个实例都需要从同一对象获取信息的时候。
引用静态变量,类名字::静态变量名;
类名字::静态方法名;
6)一定要例化对象,否则句柄为null,调用会失败。
7)当你调用方法时,传递的是对象的句柄而非对象本身。
8)对象的复制
简易复制(shallow copy),复制现有对象的所有值。
深层复制
【注】类的高级用法详解:https://www.cnblogs.com/lyc-seu/p/12788324.html

IC验证零基础学习-System Verilog-(八)面向对象编程的高级技巧指南
继承:允许从一个现存类得到一个新的类并共享其变量和子程序。
1、继承简介
2、使用$cast作类型转换,将一个指向基类的指针转换成一个指向派生类的指针。
3、多态
4、对象的复制
5、抽象类和纯虚方法
6、回调
7、参数化的类

参考书籍《SystemVerilog验证测试平台编写指南》
参考博客:
1)类的高级用法详解:
https://www.cnblogs.com/lyc-seu/p/12788324.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值