Keyword Property - leonard-thieu/monkey GitHub Wiki
Declares method as property.
Syntax
Method Identifier : ReturnType ( Parameters ) [ Property ] [ Abstract ] [ Final ] Statements... End [ Method ]
Description
The Property keyword declares that a method is acting as a class property. Properties are generally used to access a single (usually private) field in a controlled fashion.
Unlike a standard method, a property acts as a proxy for a field, and so can be written to (and read from) using the same syntax as for a field or variable. For example, reading a property:
result = myobject.MyProperty
Note that because it's acting like a field, no method-call brackets are required.
Writing to a property:
myobject.MyProperty = value
Properties are usually declared in pairs with the same name:
- a 'read' version with no parameters which reads a specific field, and;
- a 'write' version with a single parameter which writes to the same field.
(In the second example above, the value being assigned is the parameter defined in the 'write' property.)
Properties with multiple parameters cannot use this shortened syntax and must be called in the same way as a standard method.
See also
Examples
' Runnable example...
Class BankAccount
Private
Field balance:Int
Public
Method Balance (dollars:Int) Property
If dollars > 1000000
Print "Sent for security check!"
Else
balance = dollars
Endif
End
Method Balance:String () Property
Return "$" + balance
End
End
Function Main ()
Local account:BankAccount = New BankAccount
account.Balance = 50 ' 00000 ' Join to trigger security check!
Print account.Balance
End