Как использовать частные (PRIVATE) и общие (PUBLIC) переменные

Каждый объект класса должен быть хозяином своих собственных данных!
Переменные, которые используются, должны поддерживать приватность, насколько возможно.
Они должны иметь accessor methods - методы допуска, которые могут быть использованы для чтения или записи переменных.
Разновидность стандарта - именовать их
setXYZ() для записи и
getXYZ() для чтения.
Каждый метод (подпрограмма или функция), который используется только для внутренних целей должен тоже быть частным (private).
Эта практика дает вам больше контроля, через который переменные используются каким-либо кодом, и будет весьма полезно, когда вы начнете писать код для использования во множестве проектов, как библиотеки Gambas.

Программа:

Программа только создает образцы двух объектов класса и устанавливает их значения.
Если вы щелкните по клавише, отобразится ассоциированное значение.

Код:

Fmain.class

ferrari AS CCar
porsche AS CCar

STATIC PUBLIC SUB Main()
hForm AS Fmain
hForm = NEW Fmain
hForm.show
END

PUBLIC SUB _new()
ferrari = NEW CCar("ferrari", 430, 150000.56)

porsche = NEW CCar
porsche.setBrand("porsche")
porsche.setPS_Power(300)
porsche.setPrice(100345.72)
'the following does not work!
'porsche.brand = "porsche"
END

PUBLIC SUB Button1_Click()
Label1.Text = ferrari.getBrand()
END
PUBLIC SUB Button2_Click()
TextLabel1.Text = Str(ferrari.getPS_Power()) & " PS <br>" &
Str(ferrari.getKW_Power()) & " KW"
END
PUBLIC SUB Button3_Click()
TextLabel2.Text = Str(ferrari.getPrice()) & " &euro;"
END
'------------------------------------------
PUBLIC SUB Button4_Click()
Label4.Text = porsche.getBrand()
END

PUBLIC SUB Button5_Click()
TextLabel3.Text = Str(porsche.getPS_Power()) & " PS <br>" &
Str(porsche.getKW_Power()) & " KW"
END

PUBLIC SUB Button6_Click()
TextLabel4.Text = Str(porsche.getPrice()) & " &euro;"
END

Ccar.class

Исходник

Download