Objects have
members (their own variables) and
methods (their own
functions). All PML Variables are an instance of a built-in, system-defined or user-defined object type.
Operators and methods are
polymorphic — what they do (their behaviour) depends on the type of the variable.
Overloading of functions and operators is supported for all variable types.
There is no concept of private members or methods, everything is
public. There are only two levels of scope for variables:
Global and
Local.
Arguments to PML Functions are passed-by-reference with Read/Write access so any argument can potentially be used as an output argument.