コンテンツにスキップ

アクセス修飾子

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.