Saltearse al contenido

Modificadores de acceso

Los objetos utilizan bloques para agrupar miembros con la misma visibilidad.

Los miembros definidos en el bloque publico están disponibles fuera del objeto.

objeto Usuario {
publico:
texto nombre
Usuario(texto nombre) {
ambiente.nombre = nombre
}
}
Usuario persona = nuevo Usuario("Ana")
consola.mostrar(persona.nombre)

Los miembros privados solo pueden usarse dentro del objeto. Son útiles para encapsular detalles internos.

objeto Tokenizador {
privado:
lista<texto> palabras_reservadas = ["si", "sino", "para"]
publico:
log es_reservada(texto palabra) {
retornar ambiente.palabras_reservadas.contiene(palabra)
}
}

Intentar acceder a palabras_reservadas desde fuera del objeto produce un error.

Dentro de publico o privado puedes marcar miembros como libre. Estos actúan como miembros estáticos que no requieren instancias y no acceden a ambiente.

objeto UtilidadesTexto {
publico:
libre texto unir(texto a, texto b) {
retornar a + b
}
}
texto combinado = UtilidadesTexto.unir("Hola", " Quetzal")
  • Los atributos y métodos declarados antes de cualquier bloque son públicos.
  • Un objeto puede mezclar bloques privado y publico. Cada bloque puede aparecer varias veces si lo necesitas para organizar el código.
  • Los miembros privados pueden llamar a métodos públicos del mismo objeto mediante ambiente.

El uso adecuado de los modificadores facilita mantener invariantes y separar la API pública de los detalles internos.