Buscador

Espacios de nombres (namespaces) - III

Debido a que hemos creado una clase dentro de un nuevo espacio de nombres definido en el código, dicho espacio de nombres queda anidado dentro del espacio de nombres raíz del ensamblado. Para instanciar objetos de una clase escrita en un espacio de nombres de esta forma, en primer lugar debemos importar dicho espacio de nombres en la cabecera del fichero de código, utilizando la palabra clave Imports, como se muestra en el Código fuente 244.

' debemos importar el espacio de nombres
' o no podremos instanciar objetos de las
' clases que contiene
Imports ConsoleApplication1.Personal
Module Module1
Sub Main()
' como hemos importado el espacio de nombres Personal
' podemos instanciar un objeto de su clase Empleado
Dim loEmp As Empleado
loEmp = New Empleado()
loEmp.piID = 5
loEmp.MostrarDatos()
Console.ReadLine()
End Sub
End Module
Código fuente 244

Si no utilizamos Imports, también podemos instanciar objetos de clases halladas en espacios de nombres distintos, utilizando en este caso la sintaxis calificada, es decir, escribimos en primer lugar el espacio de nombres, un punto y la clase. El inconveniente de esta forma de codificación, reside en que cada vez que declaremos e instanciemos un objeto tenemos que emplear esta sintaxis calificada, por lo cuál, es mucho más cómodo importar el espacio de nombres al comienzo del fichero. Ver Código fuente 245.

Dim loEmp As Personal.Empleado
loEmp = New Personal.Empleado()
Código fuente 245
Finalmente, vamos a agregar una nueva clase al proyecto, a la que daremos el nombre Gestion.VB. Sin embargo no utilizaremos la clase que crea por defecto, borraremos todo el código de ese fichero y escribiremos dos nuevas clases en él: Cuenta y Balance, que además, estarán contenidas en el espacio de nombres Contabilidad. De esta forma queda demostrado cómo podemos organizar nuestro código, además de en clases, en espacios de nombre que contengan clases con funcionalidades similares. Ver Código fuente 246.

Namespace Contabilidad
Public Class Cuenta
Public piCodigo As Integer
Public Function Obtener() As Integer
Return Me.piCodigo
End Function
End Class
Public Class Balance
Public psDescripcion As String
Public Sub MostrarDescrip()
Console.WriteLine("La descripción del balance es: {0}",
Me.psDescripcion)
Console.ReadLine()
End Sub
End Class
End Namespace
Código fuente 246

No hay comentarios:

Publicar un comentario