多态(polymorphism)是面向对象编程的核心思想之一,指同一个行为具有多个不同表现形式或形态的能力,同一消息可以根据发送对象的不同而采用多种不同的行为方式,在SystemVerilog中指不同的子类在继承父类后分别都重写覆盖了父类的方法,即父类同一个方法,在继承的子类中表现出不同的形式,所以多态和继承是密不可分的,(关于多态可以参考《硅心思见:【107】多态和虚方法》)。
因为SystemVerilog中继承和多态特性的存在,父类中的变量和方法(未声明为local和protect时)对于子类是可见的,所以可以将子类句柄复制给父类句柄实现通过父类句柄访问子类对象,如下例所示。
【示例】
【仿真结果】