Añadir un get o un set

Submitted by tech4life on

Cuando creamos una variable en alguna de nuestras escenas quizas queremos definir unas funciones get y set.

Con los get y los set podemos acceder al valor de la variable (get) o escribir un nuevo valor en la variable (set) mediante funciones, y no accediendo a la variable. Esta manera de trabajar es muy comun en programación y nos permite poder tratar los datos de nuestra variable tanto a la entrada como a la salida. 

Ahora veremos un ejemplo, pero nos permite pasar un valor a nuestra función set, y tratarla de alguna manera o realizar alguna otra acción a la vez que guardamos el valor en la variable. De la misma manera, cuando leemos el dato podemos realizar más acciones o tratar nuestros datos.

Veamos un ejemplo de como definir un set y un set

@export var health:int = 100 : set = set_health, get = get_health

func set_health(new_health: int):
	health = clamp(new_health, 0, 100) 

func get_health():
	return health

En versiones anteriores a la 4 de Godot se podia utilizar una sentencia distinta (setget) pero ahora hay que definir las dos funciones de esta manera. 

Como se puede observar en el set tratamos el valor que nos llega antes de guardarlo en la variable. Por contra el get simplemente devolvemos el valor.

 

Nivel