miércoles, 29 de febrero de 2012

8 - Visual Studio Creando y Heredando Interfaces

Una clase de interfaz define una o más de una asignación de set de procedimientos almacenados que serán usuados por otras clases. Una interfaz no provee de implementación de código

En el siguiente proyecto crearemos una clase interface que definirá métodos abstractos que serán implementados en las clases que heredan desde la clase interface.

Crearemos un proyecto de clase que llamaremos WinInterface.

Agregaremos a este proyecto una clase que llamaremos clsAnimales.

Manteniendo el nombre del archivo borraremos el código de la clase y agregaremos las siguientes líneas de código:

Class Perro


End Class

Class Gato


End Class

Después del término de la definición de la clase gato agregaremos una clse de interfas que llamaremos IAnimal, de la siguiente forma

Public Interface IAnimal

End Interface

Dentro de la clase interfaz definida, agregaremos las definiciones de los siguientes métodos:

Public Interface IAnimal

Sub Hablar(ByVal strMsg As String)
Property Type() As String

End Interface

Dentro de la clase Perro agregaremos las siguientes líneas de código.

Class Perro
Implements IAnimal

Dim strCasta As String
Dim strNombre As String

Public Sub Pelage(ByVal str As String) Implements IAnimal.Hablar

MessageBox.Show(str + vbNewLine + "Pelaje")
End Sub

Public Property Casta() As String Implements IAnimal.Type
Get
Return strCasta
End Get
Set(ByVal value As String)
strCasta = value
End Set
End Property

Public Property Nombre() As String
Get
Return strNombre
End Get
Set(ByVal value As String)
strNombre = value
End Set
End Property

End Class

En la clase gato agregaremos las siguientes líneas de código:

Class Gato
Implements IAnimal

Dim strCasta As String
Dim strNombre As String

Public Sub Piel(ByVal str As String) Implements IAnimal.Hablar

MessageBox.Show(str + vbNewLine + "Piel")

End Sub

Public Property Casta() As String Implements IAnimal.Type
Get
Return strCasta
End Get
Set(ByVal value As String)
strCasta = value
End Set
End Property

Public Property Nombre() As String
Get
Return strNombre
End Get
Set(ByVal value As String)
strNombre = value
End Set
End Property

End Class

En el formulario, agregaremos el siguiente método, el cual heredará de la clase IAnimal:
Public Sub Barra(ByVal clsInt As IAnimal)

clsInt.Hablar("Hola")
MessageBox.Show("Tipo: " + clsInt.Type.ToString())

End Sub

En el formulario de proyectos agregaremos un control button, dentro del método que atiende el evento clic del control agregaremos las siguientes líneas de código:

Dim objPerro As New Perro

objPerro.Nombre = "Waldo"
objPerro.Casta = "Chucho"

Barra(objPerro)

Agregaremos otro botón que atenderá las llamadas a la clase Gato , definiendo las siguientes líneas de código:

Dim objGato As New Gato
objGato.Nombre = "Whiskers"
objGato.Casta = "Persiana"

Barra(objGato)

Ejecutar la solución, se podrán observar los siguientes mensajes:





No hay comentarios: