Wat prive gezegd wordt in de klasse, blijft in de klasse
Ik weet het al van lang geleden (zie naamgeving over gambas syntax), maar ik heb nu nog eens nagekeken of het in gambas3 ook nog zo gebruikt wordt, en ja.
The naming conventions are not required by the compiler. But programs which use the following naming conventions are easier to read by other programmers who want to understand the program.
Variable namesAll private variable names of a class start with $
The first letter is lower case and should depend on the type of the variable
Voordeel van het markeren van de private variabelen in de klasse, is dat je gemakkelijk kan zien wat naar buiten gaat (nl alles waar geen $ voorstaat). Handig en belangrijk als je extern waarden toegespeeld krijgt en die moet verwerken in een private var in de klasse:
Private Sub checkGivenMonthYear(Optional iMonthIn As Integer, Optional iYearIn As Integer) As Boolean
'
If (iYearIn)
$iYear = iYearIn
Van buiten de klasse mag je dus geen $var tegenkomen, dan weet je dat er iets fout is. De publieke variabelen hebben dus een gewone naam, van buitenaf zichtbaar, en geen $ teken.
Voorbeeld uit de Gambas 3.18 bronccode, FMain.class:
' Gambas class file
'
Public NoMessage As Integer
'
Private $hProjectTree As CProjectTree
'
Private $sKey As String
Private $bCtrl As Boolean
Private $bInRename As Boolean
'
Private frmWelcome As FWelcome
(dus niet voor een Form)