Note for Users Familiar with OO Concepts
- Last UpdatedOct 27, 2022
- 1 minute read
PML 2 is almost an object-oriented language. Its main deficiency is that it lacks inheritance. However, it does provide for classes of built-in, System-defined and User-defined object types.
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 behavior) 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.
Warning:
Changing the value of an argument inside a PML Functions or method will change the
value in the calling function or method.