Need help with understanding which data structure is good to implement this case

An interface class is like an abstract virtual class containing nothing but pure virtual methods. Virtual classes are never constructed directly; they must be extended with their virtual methods overridden ( a concrete class that can be constructed).

An abstract interface class gets implemented into a concrete class with implements instead of extends. The key benefit is that a concrete class can implement multiple interface classes as well as extend a single base class.