Programación en Ada/Unidades hijas

← Unidades de biblioteca Unidades hijas Subunidades →


El empleo de unidades hijas surge ante la necesidad de poder referenciar a un gran número de unidades de biblioteca con distintos nombres. Al igual que un sistema de archivos jerarquizado mediante directorios y subdirectorios, la biblioteca Ada contiene una jerarquía en su organización. Las unidades hijas son un paso más allá respecto a las subunidades, pues permiten extender la funcionalidad de un paquete sin modificar el paquete en cuestión.

El padre de todas las unidades de biblioteca es el paquete Standard. De este modo, las unidades de biblioteca creadas se agregan como hijas de Standard y se les denomina unidades de biblioteca raíz. Estas unidades serían hermanas de los paquetes predefinidos Standard.Ada, Standard.System y Standard.Interfaces. Y cada una de ellas puede a su vez contener unidades hijas.

Espacio de nombres

editar

Las unidades hijas forman también un espacio de nombres. Desde dentro de la jerarquía es posible referirse a las entidades definidas en el paquete padre como si estuviesen en la propia unidad. Igualmente al referirse a unidades hermanas.

Por ejemplo:

package Servidor is
  type Petición_T is private;
  -- ...
end Servidor;
package Servidor.Sesión is

  type Sesión_T is
  record
    Petición : Petición_T; -- Equivalente a Servidor.Petición_T
    -- ...
  end record;
  -- ...
end Servidor.Sesión;

Los paquetes se pueden encontrar en cualquier punto de la jerarquía, y los subprogramas sólo en las hojas del árbol.

Visibilidad

editar

La parte privada de un paquete hijo y su cuerpo pueden referenciar las entidades definidas en la parte privada del paquete padre.

Manual de referencia de Ada

editar