Espacios de nombres

En programación, un espacio de nombres (del inglés namespace), en su acepción más simple, es un conjunto de nombres en el cual todos los nombres son únicos.

Un espacio de nombres es un contenedor abstracto en el que un grupo de uno o más identificadores únicos pueden existir. Un identificador definido en un espacio de nombres está asociado con ese espacio de nombres. El mismo identificador puede independientemente ser definido en múltiples espacios de nombres, eso es, el sentido asociado con un identificador definido en un espacio de nombres es independiente del mismo identificador declarado en otro espacio de nombres. Los lenguajes que manejan espacio de nombres especifican las reglas que determinan a qué espacio de nombres pertenece una instancia de un identificador.

Por ejemplo, Pedro trabaja para la compañía X y su número de empleado es 123. María trabaja para la compañía Y y su número de empleada también es 123. La razón por la cual Pedro y María pueden ser identificados con el mismo número de empleado es porque trabajan para compañías diferentes. Diferentes compañías simbolizan en este caso diferentes espacios de nombres.

En programas grandes o en documentos no es infrecuente tener cientos o miles de identificadores. Los espacios de nombres (o técnicas similares como la emulación de espacios de nombres) disponen de un mecanismo para ocultar los identificadores locales. Proporcionan los medios para agrupar lógicamente los identificadores relacionados en sus correspondientes espacios de nombres, haciendo así el sistema más modular.

Muchos lenguajes de programación manejan espacios de nombres. En algunos lenguajes, como C++, PHP o Python, estos identificadores nombrando espacios de nombres están asociados con un espacio de nombres que los agrupa. Así pues, en estos lenguajes, los espacios de nombres se pueden anidar formando un árbol de espacios de nombres. En la raíz de este árbol se encuentra el espacio de nombres anónimo global.


Gracias por apoyar el libre conocimiento con tu donación!
Bitcoin: bc1q4sw9260twfcxatj8mjp7358cyvrf8whzlelyhj
Ethereum: 0xFb93D2a3c9d1A0b83EE629c2dE1725BCa192e581
Litecoin: LbFduJmHvQXcpCnwfUT7aJ4DYoWSL3iQw8
Dogecoin: D7QQVqNR5rk215A4zd2gyzV9P2bLQtZHFV
Transferencia bancaria en México:
Cuenta CLABE: 646180192143715428 Nombre: Masterhacks LATAM Banco: STP

Una respuesta a “Espacios de nombres”

Deja una respuesta

Tu dirección de correo electrónico no será publicada.