SystemVerilog, like Java, only allows a class to extend one parent class (`extends Base`). But what if you want a `Driver` to be both a `Component` AND a `PacketListener`?
Interface Class is the solution. It defines a contract (a set of pure virtual methods) that a class must implement. A class can implement multiple interface classes.
Key Features
- Cannot contain variables (only pure virtual methods and parameters).
- Cannot be instantiated.
- A class usually
implementsan interface class.