V0第14节 类的封装

1. 类的概述

  • 类是一种可以包含数据和方法(function, task)的类型
  • 例如一个数据包,可能被定义为一个类,类中可以包含指令、地址、队列ID、时间和数据等成员
  • 面向对象编程(OOP ,Object-Oriented Programming)使用户能够创建复杂的数据类型,并且将它们跟使用这些数据类型的程序紧密地结合在一起
  • 用户可以在更加抽象的层次建立测试平台和系统级模型,通过调用函数来执行一个动作而不是简单地改变信号的电平
  • 在验证环境中,包括stimulator,monitor,checker以及其它验证组件接下来都将按照OOP的方式来构建

2. OOP术语

  • 类(class): 包含成员变量和成员方法
  • 对象(object): 类在例化后的实例
  • 句柄(handle): 指向对象的指针
  • 原型(prototype): 程序的声明部分,包含程序名、返回类型和参数列表

3. 构建函数

  • SV并不像C++语言一样要求复杂的存储空间开辟和销毁手段,而是采用了像JAVA一样空间自动开辟和回收的手段
  • 因此SV的类在定义时,只需要定义构建函数(constructor),而不需要定义析构函数(destructor)
  • 类在定义时,需要定义构建函数,如果未定义,则系统会自动帮助定义一个空的构建函数(没有形式参数,函数体为空)
  • 对象在创建时,需要先声明再例化,同时进行即可

4. 静态成员(变量/方法)

  • 类的成员(变量/方法)默认都是动态(automatic)生命周期,即每一个对象的变量和方法都会为其开辟新的空间
  • 如果多个对象为了共享一个成员(变量/方法),那么可以为其添加关键字static
  • 多个对象因此可以共享同一个成员变量或者方法
  • 成员方法也可以声明为静态
  • 静态方法无法访问动态成员(变量/方法),否则会发生编译错误

5. this

  • this是用来明确索引当前所在对象的成员(变量/参数/方法)
  • this只可以用来在类的非静态成员方法、约束和覆盖组中使用
  • this的使用可以明确所指向变量的作用域
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值