Systemverilog(绿皮书)第五章——类与对象(三)类的继承

本文探讨了Systemverilog中的类继承概念,强调了如何通过继承扩展基类的功能。介绍了使用super关键字调用父类方法以及对象创建与初始化的顺序。还讨论了成员覆盖问题,以及在不同对象句柄下如何访问成员变量。最后,阐述了$cast函数在类型转换中的作用,强调了父类句柄不能赋值给子类对象的规则。
摘要由CSDN通过智能技术生成

在OOP中我们通过继承的方式给子类赋值或者增加新的功能:

class cat;
    protected color_t color;
    local bit is_good;
    function set_good(bit s);
        this.is_good = s;
    endfunction
endclass

/声明黑猫类/
class black_cat extends cat;
    function new();
        this.color = BLACK;
    endfunction
endclass

/声明白猫类/
class while_cat extends cat;
    function new();
        this.color = WHITE;
    endfunction
endclass

black_cat bk;    
white_cat wt;    

initial begin
    bk = new();    //初始化黑猫对象
    wt = new();    //初始化白猫对象
    bk.set_good(1);
    wt.set_good(1);
end

在验证的过程中我们通过单一的职责划分,使得各个组件的任务明确,那么一个  简单的环境构建就有了。

案例1:对于数据发送,我们希望把数据都封装到类里面,因为类中可以封装 很多的数据和方法。

  • 8
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值