30 - Clase parcial - Partial Class


Hasta ahora hemos visto que una clase se la implementa en forma completa dentro de un archivo. El lenguaje Visual Basic .Net permite la implementación de una clase en dos o más archivos. Para esto hay que agregarle el modificador Partial cuando declaramos la clase.

Este concepto es muy utilizado por el entorno del Visual Studio .Net en la generación de interfaces visuales.

Como veremos en conceptos futuros es necesario presentar "Partial Class" para su entendimiento.

Una clase parcial no es más ni menos que crear una clase completa y luego agrupar métodos y propiedades en dos o más archivos.

Problema 1:

Plantear una clase Rectangulo, definir dos propiedades: lado1 y lado2. Definir dos métodos RetornarSuperficie y RetornarPerimetro. Dividir la clase en dos archivos utilizando el concepto de "Partial Class".

Programa:

Archivo1.vb

Partial Class Rectangulo

    Private _lado1 As Integer
    Private _lado2 As Integer

    Public Property lado1() As Integer
        Get
            Return _lado1
        End Get
        Set(ByVal value As Integer)
            _lado1 = value
        End Set
    End Property

    Public Property lado2() As Integer
        Get
            Return _lado2
        End Get
        Set(ByVal value As Integer)
            _lado2 = value
        End Set
    End Property

End Class

Archivo2.vb

Partial Class Rectangulo

    Public Function RetornarSuperficie() As Integer
        Dim sup As Integer = lado1 * lado2
        Return sup
    End Function

    Public Function RetornarPerimetro() As Integer
        Dim per As Integer = lado1 * 2 + lado2 * 2
        Return per
    End Function

End Class

Module1.vb

Module Module1

    Sub Main()
        Dim rectangulo1 As New Rectangulo()
        rectangulo1.lado1 = 5
        rectangulo1.lado2 = 10
        Console.WriteLine("La superficie del rectángulo es:" &
                                rectangulo1.RetornarSuperficie())
        Console.WriteLine("El perímetro del rectángulo es:" &
                                rectangulo1.RetornarPerimetro())
        Console.ReadKey()
    End Sub

End Module

Para codificar este proyecto procedemos de la siguiente forma:

  1. Seleccionamos desde el menú de opciones Archivo -> Nuevo proyecto...
  2. En el diálogo definimos el nombre del proyecto: ClaseParcial1
  3. Ahora tenemos que agregar los otros archivos. Presionamos el botón derecho del mouse en la ventana del "Explorador de soluciones" sobre el nombre del proyecto ("ClaseParcial1") y seleccionamos la opción Agregar -> Nuevo elemento.
    Agregar nuevo elemento proyecto visual studio .net
  4. Seleccionamos en el diálogo la plantilla "Clase" y en la parte inferior del diálogo definimos el nombre del archivo, en nuestro caso lo llamamos "Archivo1.vb". Agregar nuevo elemento proyecto visual studio .net
  5. En este archivo planteamos la clase "Partial Class Rectangulo" que define las dos propiedades y atributos (el código que nos generó automáticamente lo borramos)
  6. En forma similar seguimos los pasos para crear el Archivo2.vb y codificar la clase "Partial Class Rectangulo" que define los dos métodos.
  7. Finalmente codificamos la clase principal en el archivo Module1.vb
    En la Main creamos un objeto de la clase Rectangulo e inicializamos las propiedades y llamamos a sus métodos.
  8. No es obligatorio que los dos archivos definan la clase como Partial, con que uno lo haga luego funciona correctamente la compilación.

Retornar