Probar una clase

Actualización: noviembre 2007

En esta lección, aprenderá a crear una instancia de una clase para probar la clase.

En las últimas lecciones, creó una clase Persons y le proporcionó propiedades, métodos y eventos. Lo que ha hecho hasta ahora es agregar código, ahora es el momento de utilizar la clase Persons y asegurarse de que funcione según lo esperado.

Crear una instancia de una clase

Aunque es posible que no se haya dado cuenta, ha estado utilizando clases en muchas de las lecciones anteriores. Los formularios y controles son en realidad clases; cuando arrastra un control Button a un formulario, está creando realmente una instancia de la clase Button.

También puede crear instancias de cualquier clase en el código utilizando una declaración con la palabra clave New. Por ejemplo, para crear una nueva instancia de la clase Button, agregará el código siguiente.

Dim aButton As New Button

Para utilizar y probar la clase Persons, debe crear primero un proyecto de prueba y agregar una referencia al módulo de clase.

Inténtelo

Para crear un proyecto de prueba para la clase

  1. Abra el proyecto Persons que creó en la lección anterior. Si no lo guardó, primero debe volver a la lección anterior, Agregar métodos a una clase, y completar los procedimientos.

  2. En el menú Archivo, elija Agregar y, a continuación, haga clic en Nuevo proyecto.

  3. En el panel Plantillas, en el cuadro de diálogo Nuevo proyecto, haga clic en Aplicación de Windows Forms.

  4. En el cuadro Nombre, escriba PersonsTest y haga clic en Aceptar.

    Se agregará un nuevo proyecto de Windows Forms al Explorador de soluciones y aparecerá un nuevo formulario.

  5. En el Explorador de soluciones, seleccione el proyecto PersonsTest y, en el menú Proyecto, haga clic en Establecer como proyecto de inicio.

  6. En el Explorador de soluciones, seleccione el proyecto PersonsTest y, en el menú Proyecto, haga clic en Agregar referencia.

    Aparecerá el cuadro de diálogo Agregar referencia.

  7. Haga clic en la ficha Proyectos, seleccione Personas y haga clic en Aceptar.

  8. Haga doble clic en el formulario para abrir el editor de código y escriba la siguiente declaración justo debajo de la línea Public Class Form1.

    Dim person1 As New Persons.Persons
    

    Esto declara una nueva instancia de la clase Persons. Se preguntará por qué tuvo que escribir dos veces Persons, pero la primera instancia es el módulo de clase Persons.vb y la segunda instancia es la clase Persons de ese módulo.

  9. En el menú Archivo, haga clic en Guardar todo.

Probar una clase

El siguiente paso es agregar una interfaz de usuario y un código que utilice la clase Persons. Agregará cuadros de texto donde el usuario especificará los valores para cada una de las propiedades (excepto la propiedad de sólo lectura Age), una casilla para el campo Married y botones para probar cada uno de los métodos públicos.

Inténtelo

Para probar la clase

  1. En el Explorador de soluciones, seleccione Form1 y, en el menú Ver, haga clic en Diseñador.

  2. En el Cuadro de herramientas, arrastre cuatro controles TextBox, un control CheckBox y dos controles Button al formulario.

  3. Seleccione el primer control Button y, a continuación, en la ventana Propiedades establezca la propiedad Text en Update.

  4. Seleccione el segundo control Button y en la ventana Propiedades establezca la propiedad Text en Full Name.

  5. Haga doble clic en el primer botón (Update) para abrir el Editor de código y en el controlador de eventos Button1_Click, agregue el siguiente código.

    With person1
        .FirstName = Textbox1.Text
        .MiddleName = Textbox2.Text
        .LastName = Textbox3.Text
        .BirthYear = Textbox4.Text
        .Married = CheckBox1.Checked
    End With
    

    Observe que cuando escribe, se muestra una lista que contiene todos los miembros de la clase Persons. Puesto que se agregó como una referencia, IntelliSense muestra la información sobre la clase tal como lo haría para cualquier otra clase.

  6. En el controlador de eventos Button2_Click, agregue el siguiente código.

    ' Test the FullName method.
    MsgBox(person1.FullName)
    
    ' test the Age property and CalcAge method.
    MsgBox(CStr(person1.Age) & " years old")
    
    ' Test the Married property.
    If person1.Married = True Then
        MsgBox(person1.FirstName & " is married")
    Else
        MsgBox(person1.FirstName & " is single")
    End If
    
  7. Presione F5 para ejecutar el proyecto y mostrar el formulario.

    1. En el primer cuadro de texto, escriba su nombre.

    2. En el segundo cuadro de texto, escriba su segundo nombre.

    3. En el tercer cuadro de texto, escriba su apellido.

    4. En el cuarto cuadro de texto, escriba el año de su nacimiento con cuatro dígitos (por ejemplo, 1983).

    5. Active la casilla si está casado/a.

  8. Haga clic en el botón Actualizar para establecer las propiedades de la clase y haga clic en el botón Full Name.

    Se muestran tres cuadros de mensaje. Estos cuadros de mensaje muestran su nombre completo, edad y estado civil.

  9. En el menú Archivo, haga clic en Guardar todo.

Probar los métodos sobrecargados

Si finalizó la lección opcional Información detallada: crear varias versiones del mismo método con sobrecarga, también deseará probar los métodos sobrecargados que agregó a la clase Persons. Si no finalizó la lección, puede regresar y hacerlo ahora o puede omitir el siguiente procedimiento.

Inténtelo

Para probar los métodos sobrecargados

  1. En el Explorador de soluciones, seleccione Form1 y, en el menú Ver, haga clic en Diseñador.

  2. En el Cuadro de herramientas, arrastre dos controles más Button al formulario.

  3. Seleccione el tercer control Button y en la ventana Propiedades establezca su propiedad Text en With.

  4. Seleccione el cuarto control Button y en la ventana Propiedades establezca su propiedad Text en Without.

  5. Haga doble clic en el primer botón (With) para abrir el Editor de código y escriba el siguiente código en el controlador de eventos Button3_Click.

    MsgBox(person1.FirstName & " " & person1.MiddleInitial(True) & _
                               " " & person1.LastName)
    

    Observe que cuando escribe, se muestra una lista que contiene todos los miembros de la clase Persons. Puesto que se agregó como una referencia, IntelliSense muestra la información sobre la clase tal como lo haría para cualquier otra clase.

  6. En el controlador de eventos Button4_Click, agregue el siguiente código.

    MsgBox(person1.FirstName & " " & person1.MiddleInitial & _
                               " " & person1.LastName)
    
  7. Presione F5 para ejecutar el proyecto y mostrar el formulario.

    1. En el primer cuadro de texto, escriba su nombre.

    2. En el segundo cuadro de texto, escriba su segundo nombre.

    3. En el tercer cuadro de texto, escriba su apellido.

    4. En el cuarto cuadro de texto, escriba el año de su nacimiento con cuatro dígitos (por ejemplo, 1983).

    5. Active la casilla si está casado/a.

  8. Haga clic en el botón Actualizar para establecer las propiedades de la clase y haga clic en el botón With.

    Se abre un cuadro de mensaje. Muestra su nombre con un punto tras la inicial del segundo nombre.

  9. Haga clic en el botón Without.

    Se abre un cuadro de mensaje. Muestra su nombre sin un punto tras la inicial del segundo nombre.

  10. En el menú Archivo, haga clic en Guardar todo.

Probar controladores de eventos

Si completó la lección opcional Información detallada: controlar eventos, quizás desee probar también los controladores de eventos que agregó a la clase Persons. Si no completó la lección, puede regresar y hacerlo ahora o puede omitir el siguiente procedimiento.

Inténtelo.

Para probar el controlador de eventos

  1. En el Explorador de soluciones, seleccione Form1 y, en el menú Ver, haga clic en Código.

  2. Agregue la instrucción WithEvents antes de la declaración person1, como se muestra en el código siguiente:

    WithEvents person1 As New Persons.Persons
    
  3. Agregue el procedimiento siguiente a Form1. Este código comprueba la edad calculada y muestra un mensaje basado en el resultado.

    Private Sub person1_AgeCalculated(ByVal Age As Integer) _
        Handles person1.AgeCalculated
    
        If Age > 18 Then
            MsgBox("You have been over 18 for " & Age - 18 _
                & " years.")
        Else
            MsgBox("You will be 18 in " & 18 - Age & " years")
        End If
    
    End Sub
    
  4. Presione F5 para ejecutar el proyecto y mostrar el formulario.

    1. En el primer cuadro de texto, escriba su nombre.

    2. En el segundo cuadro de texto, escriba su segundo nombre.

    3. En el tercer cuadro de texto, escriba su apellido.

    4. En el cuarto cuadro de texto, escriba el año de su nacimiento con cuatro dígitos (por ejemplo, 1983).

    5. Active la casilla si está casado/a.

  5. Haga clic en el botón Actualizar para establecer las propiedades de la clase y haga clic en el botón Full Name.

    Un cuadro de mensaje muestra su nombre completo. Si tiene más de 18 años, otro cuadro de mensaje muestra información sobre cuánto tiempo hace que cumplió los 18 años. Si tiene menos de 18 años, aparece un cuadro de mensaje que muestra información sobre cuánto tiempo queda hasta que cumpla los 18 años. A continuación, otro cuadro de mensaje muestra su edad.

  6. En el menú Archivo, haga clic en Guardar todo.

Pasos siguientes

En esta lección, aprendió a crear un proyecto de prueba y a usarlo para probar las propiedades, métodos y eventos de la clase. En la siguiente lección, aprenderá a utilizar la herencia para crear una clase basada en una clase existente.

Próxima lección: Generar una clase a partir de una clase existente: utilización de la herencia

Vea también

Tareas

Agregar métodos a una clase

Información detallada: crear varias versiones del mismo método con sobrecarga