# Properties declaration

PROPERTY [ READ ] Identifier AS Datatype

This declares a class property.

If the keyword `READ` is specified, then the property will be read-only.

Once declared, a property must be implemented : you must write a function to read the property, and, if not read-only, a function to write the property.

The name of the read function is the name of the property followed by an underscore and the text "Read". This function takes no argument and must return a data whose type is the same as the property datatype.

The name of the write function is the name of the property followed by an underscore and the text "Write". This function is a procedure that returns nothing, and that takes only one argument whose type is the same as the property datatype.

Example

    PROPERTY Enabled AS Boolean
    PROPERTY READ Handle AS Integer
    ...

    PRIVATE $bEnabled AS Boolean
    PRIVATE $iHandle AS Integer

    ' Implements the Enabled property

    FUNCTION Enabled_Read() AS Boolean

      RETURN $bEnabled

    END

    SUB Enabled_Write(bEnabled AS Boolean)

      $bEnabled = bEnabled
      UpdateEverything

    END

    ' Implements the Handle property

    FUNCTION Handle_Read() AS Integer

      RETURN $iHandle

    END

Previous: PROCEDURE Next: PROPERTY