Name

Public Directive

Syntax

type Class declaration
public
   Field declarations...
   Method and property declarations...
end;

Description

The public directive introduces the public section of a class declaration. Public fields, methods, and properties are accessible from any other subroutines or method in the same unit or in any unit that uses the declaring unit (provided the class declaration is in the unit’s interface section).

Tips and Tricks

  • Fields should never be made public. Instead, declare fields in the private section, and declare public properties to access the fields. Properties are more flexible than fields, and they give you more opportunity to change the class declaration without affecting uses of the class.

  • Public methods and properties define the external behavior of a class and its objects. Once a class is in use, refrain from making changes to the public methods and properties if at all possible. Instead of changing a method, declare a new method with new behavior. Public changes have a way of propagating and upsetting other code in a project.

  • A class declaration can begin with an initial, unnamed section. The default access level for the unnamed section is public unless the class uses the $M or $TypeInfo compiler directives to enable RTTI, or if the class inherits from a class that has RTTI enabled. TPersistent in Delphi’s Classes unit enables RTTI, so all persistent classes (including all components, controls, and forms) have RTTI. The initial, unnamed section is published ...

Get Delphi in a Nutshell now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.