miércoles, 29 de febrero de 2012

10 - Visual Studio Metodo de sombreado de una clase Base

Para realizar esta labor utilizaremos la aplicación construída con anterioridad.

Agregar una nueva clase a la cual llamaremos clsShadowing

Renombrar el nombre de la clase de la siguiente forma:

Public Class clsShadowed

End Class

Dentro de esta clase agregaremos los siguientes métodos que atenderán con mismo nombre dos llamadas con distintos parámetros (Polimorfismo)

Public Sub Foo(ByVal strMsg As String)

MessageBox.Show(strMsg)

End Sub

Public Sub Foo(ByVal strName As String, ByVal strMsg As String)

MessageBox.Show(strMsg + vbNewLine + strName)

End Sub

Dentro del mismo proyecto de clase agregaremos al final de la clase la siguientes líneas de código:

Public Class clsShadows

Inherits clsShadowed

Public Shadows Sub Foo(ByVal intAge As Integer)

MessageBox.Show("Tu Edad es " + intAge.ToString())

End Sub

End Class

Quedando todo de la siguiente forma:

Public Class clsShadowed

Public Sub Foo(ByVal strMsg As String)

MessageBox.Show(strMsg)

End Sub

Public Sub Foo(ByVal strName As String, ByVal strMsg As String)

MessageBox.Show(strMsg + vbNewLine + strName)

End Sub

End Class

Public Class clsShadows

Inherits clsShadowed

Public Shadows Sub Foo(ByVal intAge As Integer)

MessageBox.Show("Tu Edad es " + intAge.ToString())

End Sub

End Class

Agregue un botón al formulario de la aplicación y en el método que atiende el evento clic, agregue las siguientes líneas de código.

Dim cls As New clsShadows

cls.Foo(30)

Si se observa, aunque los métodos de la clase base son públicos, al definir el método de la clase clsShadows como del tipo Shadows, automáticamente se ocultan los métodos Bases y solo queda disponible el método de la clase que se instancias, si se desea instanciar un método de la clase base se debe llamar directamente instanciando la clase base.

No hay comentarios: