System Verilog视频学习笔记(9)- Inheritance
来源:互联网 发布:js dom编程艺术 pdf 编辑:程序博客网 时间:2024/05/29 03:37
OOP-Inheritance(面向对象-继承)
内容来自启芯-System Verilog视频
==============================================================
目录结构:
1、继承
2、多态
3、数据保护
4、总结
==============================================================
本章目标:
了解面向对象派生
Inheritance继承:子类从父类继承,子类又可以定义新的成员和方法。
1、继承
图1、继承结构
以上父类packet,子类继承父类packet,生成mypacket,子类可以定义自己的属性。
派生的类即子类可以兼容父类。
2、多态
图2、函数调用例子
p1.crc = computer_crc();//调用父类computer_crc()函数
p2.crc = computer_crc();//调用子类computer_crc()函数
p1.crc = crc(p1);//调用父类computer_crc()函数
p2.crc = crc(p2);//调用父类computer_crc()函数
以上红色部分为什么调用父类内?因为子类句柄传递给父类,但是packet对象pkt仍是父类对象,他调用的仍是父类的函数。
需要通过Virtual声明。
所以多态需要通过将原函数声明virtual,则新定义的函数可覆盖原有函数。
图3、声明Virtual实现多态
3、数据保护
关键字Local
图4、Local例子(子类不能使用父类的变量)
关键字Protected
图5、Protected例子,子类可访问父类变量
另外:子类继承实现新函数时补全方法的参数,在VCS编译中子类继承父类,子类没有父类对应的函数,则VCS将生成对应的函数但没有参数,所以编译时将会发生错误。
4、总结
本节介绍了类的继承,继承时方法和成员继承,成员属性local和protected。掌握C++真的很重要。
- System Verilog视频学习笔记(9)- Inheritance
- System Verilog视频学习笔记(1)- Device Under Test
- System Verilog视频学习笔记(2)- Testbench
- System Verilog视频学习笔记(3)- Language Basic
- System Verilog视频学习笔记(5)- Concurrency
- System Verilog视频学习笔记(6)- OOP-Encapsulation
- System Verilog视频学习笔记(7)- OOP-Virtual Interface
- System Verilog视频学习笔记(8)- Randomization
- System Verilog视频学习笔记(10)- Inter-Thread Communication
- System Verilog视频学习笔记(11)- Functional converage
- System Verilog视频学习笔记(12)- VMM预览
- System Verilog视频学习笔记(4)- Stimulus driven and received
- system verilog MATLAB学习笔记
- system verilog学习笔记--time slot division
- system verilog学习笔记assertion & debug
- system verilog学习笔记---coding style
- system verilog学习笔记---intersting Q&A
- Swift 学习笔记---Inheritance
- #1015 : KMP算法 裸kmp
- 服务器--使用WordPress搭建个人博客
- C语言补充学习
- web.js.this详解
- 1017. A除以B (20)
- System Verilog视频学习笔记(9)- Inheritance
- jQuery的属性与样式
- 小白题解 Codeforces 794B Cutting Carrot
- 数塔问题
- ubuntu mongoDB的一些相关基本操作
- 1018. 锤子剪刀布 (20)
- 判断一个整数转换成二进制后1的个数
- [安卓基础]学习第五天
- 1019. 数字黑洞 (20)