An interface is a definition of the methods that will be present in any
implementing class.
A class can implement more than one interface if it so chooses, it just needs to
provide all of the methods required by all of the implemented interfaces.
An interface can be thought of as a guaranteed contract stating
that "by implementing this interface I guarantee this class will implement
these methods specified by the interface."
This allows the interface to be used as a reference type that allows any
class implementing the interface to be used without altering the code.
NeXtMidas makes use of interfaces for plotting and listing files.
Any file whose handler implements PlotFile can be plotted
by PLOT.
Any file whose handler implements ListFile can be listed
by LIST2.
X-Midas Users Take Note:
File support for X-Midas is part of the system libraries and can not be modified without
altering the X-Midas baseline. In NeXtMidas option trees can add their own file handlers,
at run-time, without altering the NeXtMidas baseline.