42 lines
1.1 KiB
Plaintext
42 lines
1.1 KiB
Plaintext
programa {
|
|
inclua biblioteca Objetos --> obj
|
|
|
|
// "constructor" returns address of object
|
|
funcao inteiro my_class_new(inteiro value) {
|
|
inteiro this = obj.criar_objeto()
|
|
obj.atribuir_propriedade(this, "variable", value) // add property to object
|
|
retorne this
|
|
}
|
|
|
|
// "method" takes the address returned by criar_objeto
|
|
funcao my_class_some_method(inteiro this) {
|
|
my_class_set_variable(this, 1)
|
|
}
|
|
|
|
// "setter"
|
|
funcao my_class_set_variable(inteiro this, inteiro value) {
|
|
obj.atribuir_propriedade(this, "variable", value)
|
|
}
|
|
|
|
// "getter"
|
|
funcao inteiro my_class_get_variable(inteiro this) {
|
|
retorne obj.obter_propriedade_tipo_inteiro(this, "variable")
|
|
}
|
|
|
|
funcao inicio() {
|
|
inteiro this = my_class_new(0)
|
|
|
|
escreva("variable = ", my_class_get_variable(this), "\n")
|
|
|
|
my_class_some_method(this)
|
|
|
|
escreva("variable = ", my_class_get_variable(this), "\n")
|
|
|
|
my_class_set_variable(this, 99)
|
|
|
|
escreva("variable = ", my_class_get_variable(this), "\n")
|
|
|
|
obj.liberar_objeto(this)
|
|
}
|
|
}
|