Agregar métodos a una clase

Actualización: noviembre 2007

En esta lección, aprenderá a agregar métodos a una clase para que pueda realizar acciones.

En una lección anterior, Información detallada: comprender propiedades, métodos y eventos, aprendió que la mayoría de los objetos tiene acciones que puede realizar; estas acciones se conocen como métodos. La clase Persons que creó en la lección Modelar un objeto en una situación real: crear la primera clase representa a una persona. Hay muchas acciones que pueden realizar las personas y para la clase Persons, esas acciones se pueden expresar como métodos de clase.

Métodos de una clase

Los métodos de una clase son simplemente procedimientos Sub o Function declarados en la clase. Por ejemplo, una clase Account puede tener un procedimiento Sub denominado Recalculate, que actualizará el balance o un procedimiento Function denominado CurrentBalance para devolver el último balance. El código para declarar esos métodos puede ser similar al siguiente:

Public Sub Recalculate()
    ' add code to recalculate the account.
End Sub
Public Function CurrentBalance(ByVal AccountNumber As Integer) As Double
    ' add code to return a balance.
End Function

Si bien la mayoría de los métodos de clase son públicos, también se pueden agregar métodos que sólo la clase en sí puede utilizar. Por ejemplo, la clase Persons puede tener su propia función para calcular la edad de una persona. Si declara la función como Private, no se puede ver o llamar desde fuera de la clase.

El código para una función privada puede ser similar al siguiente:

Private Function CalcAge(ByVal year As Integer) As Integer
    CalcAge = My.Computer.Clock.LocalTime.Year - year
End Function

Más tarde puede cambiar el código que calcula el valor CalcAge y el método seguirá funcionando bien sin cambiar ningún código que utilice el método. Ocultar el código que realiza el método se conoce como encapsulación.

En la clase Persons, se creará un método público que devuelve un nombre completo y una función privada para calcular la edad.

Inténtelo

Para agregar un método a 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 propiedades a una clase, y completar los procedimientos.

  2. En el Explorador de soluciones, seleccione Persons.vb y, en el menú Ver, haga clic en Código.

  3. Agregue el siguiente código bajo los procedimientos de propiedad.

    Public Function FullName() As String
        If middleNameValue <> "" Then
            FullName = firstNameValue & " " & middleNameValue & " " _
                                      & lastNameValue
        Else
            FullName = firstNameValue & " " & lastNameValue
        End If
    End Function
    
    Private Function CalcAge(ByVal year As Integer) As Integer
        CalcAge = My.Computer.Clock.LocalTime.Year - year
    End Function
    
  4. Modifique el código en el procedimiento de la propiedad Age para utilizar la función privada.

    ReadOnly Property Age() As String
        Get
            ' Age = My.Computer.Clock.LocalTime.Year - birthDateValue
            Age = CalcAge(birthYearValue)
        End Get
    End Property
    
  5. En el menú Archivo, haga clic en Guardar todo para guardar el trabajo.

Pasos siguientes

En esta lección, aprendió a agregar métodos públicos y privados a una clase. Puede obtener más información sobre los métodos en Información detallada: crear varias versiones del mismo método con sobrecarga o puede continuar con la siguiente lección y aprender a agregar eventos a la clase.

Siguiente lección: Agregar eventos a una clase

Vea también

Tareas

Agregar propiedades a una clase

Otros recursos

Programar con objetos: utilizar clases