Modificadores de acceso
Los objetos utilizan bloques para agrupar miembros con la misma visibilidad.
publico
Sección titulada «publico»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)privado
Sección titulada «privado»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.
Miembros libres
Sección titulada «Miembros libres»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")Reglas adicionales
Sección titulada «Reglas adicionales»- Los atributos y métodos declarados antes de cualquier bloque son públicos.
- Un objeto puede mezclar bloques
privadoypublico. 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.