5.6 Visibility

For objects, 3 visibility speciers exist : private, protected and public. If a visibility specier is not specied, public is assumed. Both methods and elds can be hidden from a programmer by putting them in a private section. The exact visibility rule is as follows:
Private 
All elds and methods that are in a private block, can only be accessed in the module (i.e. unit or program) that contains the object denition. They can be accessed from inside the object's methods or from outside them e.g. from other objects' methods, or global functions.
Protected 
Is the same as Private, except that the members of a Protected section are also accessible to descendent types, even if they are implemented in other modules.
Public 
sections are always accessible, from everywhere. Fields and metods in a public section behave as though they were part of an ordinary record type.