文件名称:继承与子类-微积分入门Ⅰ 一元微积分 -(日)小平邦彦
文件大小:10.44MB
文件格式:PDF
更新时间:2024-07-29 18:52:38
System Verilog 中文
11.12 继承与子类 第十一章 类 SystemVerilog 3.1a 语言参考手册 11.12 继承与子类 第十一章 类 前一节定义了一个称为 Packet 的类。我们可以扩展这个类以便使 packet 串接在一起形成一个链表。一种解决方案是产 生一个新的被称为 LinkedPacket 的类,它包含一个类型为 Packet 的变量:packet_c。 为了引用 Packet 类属性,需要引用变量 packet_c。 Copy Code class LinkedPacket; Packet packet_c; LinkedPacket next; function LinkedPacket get_next(); get_next = next; endfunction endclass 由于 LinkedPacket 是 Packet 的一个特例,所以一个更合理的解决方案是扩展 Packet 类以便产生一个新的子类,这个 子类继承父类的成员。例如: Copy Code class LinkedPacket extends Packet; LinkedPacket next; function LinkedPacket get_next(); get_next = next; endfunction endclass 现在,Packet 的所有方法和类成员都是 LinkedPacket 的一部分,就好像它们在 LinkedPacket 中定义一样,并且 LinkedPacket 具有额外的类属性和方法。