Empezamos con nuevo proyecto, lo llamaremos “ejemploherencia”. Luego damos paso a elimiar si queremos el Form1, agregamos un nuevo
formulario, lo llamaremos "FrmHerencia" como lo muestran las imágenes:
Herencia: ejemplo segun el diagrama:
- En la propiedades del formulario nos dirigimos a su propiedad Text y digitamos el nombre "ejemplo: herencia ".
- Nos ponemos a diseñar el formulario haciendo uso del cuadro de herramientas: "4 Label, 2 TextBox y un Button".
- A los label le cambiamos el texto en su propiedad Text .
- label4 siga las imagenes
- Las cajas de texto en su propiedad name digitamos: "txtradio, textaltura", al botton en su propiedad name digitamos "btncalcular" y su propiedad Text ="calcular".
- Lo siguiente es crear las clases y estaran ordenadas dentro de una carpeta:
crear carpeta: "nombre circulo"
- crear clases: con los nombres circulo.vb y cilindro.vb dentro de la carpeta.
Clase Circulo: Para programar hacemos doble clik en clase Circulo:
Public Class circulo
Private radio As Double
''Creando sobre carga de constructores
Public Sub New()
Me.radio = 5
End Sub
Public Sub New(ByVal radio As Double)
Me.radio = radio
End Sub
''Creamos funciones
Public Function calculararea() As Double
Return Math.PI * Math.Pow(Me.radio, 2)
End Function
Public Function calcularcircunferencia() As Double
Return 2 * Math.PI * Me.radio
End Function
End Class
Clase Cilindro: Heredando las características de circulo.
Public Class cilindro
''Inherits: Hereda de una clase base
Inherits circulo
Private altura As Double
Public Sub New(ByVal altura As Double, ByVal radio As Double)
'' MyBase: Refiere a la Clase Base immediata
MyBase.New(radio)
Me.altura = altura
End Sub
Public Function calcularvolumen() As Double
Return Me.altura * MyBase.calculararea
End Function
End Class
Programamos en el Formulario: declaramos las variables y programamos en el boton
btncalcular
Public Class FrmHerencia
'llamamos a la clase
Private ocilindro As cilindro
Private radio As Double
Private altura As Double
Private Sub btncalcular_Click(sender As System.Object, e As System.EventArgs) Handles btncalcular.Click
radio = CType(txtradio.Text, Double)
altura = CType(txtaltura.Text, Double)
''instanciamos la clase
ocilindro = New cilindro(altura, radio)
lblresultado.Text = ocilindro.calcularvolumen
End Sub
End Class
Resultado :
Ejemplo de Polimorfismo: Agregamos las clases Perro, Gato, Vaca y un nuevo formulario con el nombre de "FrmAnimal.vb"; Animal en el mismo proyecto, pero en otra carpeta.
Diseño del formulario
Clase Animal:
''LA CLASE LA CONVERTIMOS EN ABSTRACTA
Public MustInherit Class Animal
Private altura As Double
Private peso As Double
Public Property xaltura() As Double
Get
Return Me.altura
End Get
Set(value As Double)
Me.altura = value
End Set
End Property
Public Property xpeso() As Double
Get
Return Me.peso
End Get
Set(value As Double)
Me.peso = value
End Set
End Property
'Metodos sin cuerpos
Public MustOverride Function comer() As String
Public MustOverride Function decir() As String
End Class
Clase Gato:
Public Class Gato
Inherits Animal
Public Overrides Function comer() As String
Return "RATONES"
End Function
Public Overrides Function decir() As String
Return "MIAU, MIAU , MIAU,..."
End Function
End Class
Clase Perro :
Public Class Perro
Inherits Animal
Public Overrides Function comer() As String
Return "HUESO"
End Function
Public Overrides Function decir() As String
Return "GUAU GUAU....."
End Function
End Class
Clase Vaca:
Public Class Vaca
Inherits Animal
Public Overrides Function comer() As String
Return "PASTO"
End Function
Public Overrides Function decir() As String
Return "MUU,MU,MU"
End Function
End Class
Programamos en el Formulario:
Public Class FrmAnimal
Private oanimal As Animal
Private operro As New Perro
Private ogato As New Gato
Private ovaca As New Vaca
Private Sub btnmostrar_Click(sender As System.Object, e As System.EventArgs) Handles btnmostrar.Click
If rbperro.Checked Then
oanimal = operro
ElseIf rbgato.Checked Then
oanimal = ogato
Else
oanimal = ovaca
End If
ovaca.xaltura = 20
ovaca.xpeso = 300
MessageBox.Show("Altura:" & oanimal.xaltura & vbCrLf _
& "Peso:" & oanimal.xpeso & vbCrLf _
& "come:" & oanimal.comer & vbCrLf _
& "dice:" & oanimal.decir, "mensaje", MessageBoxButtons.OK)
End SubEnd Class
'llamamos a la clase
Private ocilindro As cilindro
Private radio As Double
Private altura As Double
Private Sub btncalcular_Click(sender As System.Object, e As System.EventArgs) Handles btncalcular.Click
radio = CType(txtradio.Text, Double)
altura = CType(txtaltura.Text, Double)
''instanciamos la clase
ocilindro = New cilindro(altura, radio)
lblresultado.Text = ocilindro.calcularvolumen
End Sub
End Class
Resultado :
Ejemplo de Polimorfismo: Agregamos las clases Perro, Gato, Vaca y un nuevo formulario con el nombre de "FrmAnimal.vb"; Animal en el mismo proyecto, pero en otra carpeta.
Diseño del formulario
Clase Animal:
''LA CLASE LA CONVERTIMOS EN ABSTRACTA
Public MustInherit Class Animal
Private altura As Double
Private peso As Double
Public Property xaltura() As Double
Get
Return Me.altura
End Get
Set(value As Double)
Me.altura = value
End Set
End Property
Public Property xpeso() As Double
Get
Return Me.peso
End Get
Set(value As Double)
Me.peso = value
End Set
End Property
'Metodos sin cuerpos
Public MustOverride Function comer() As String
Public MustOverride Function decir() As String
End Class
Clase Gato:
Public Class Gato
Inherits Animal
Public Overrides Function comer() As String
Return "RATONES"
End Function
Public Overrides Function decir() As String
Return "MIAU, MIAU , MIAU,..."
End Function
End Class
Clase Perro :
Public Class Perro
Inherits Animal
Public Overrides Function comer() As String
Return "HUESO"
End Function
Public Overrides Function decir() As String
Return "GUAU GUAU....."
End Function
End Class
Clase Vaca:
Public Class Vaca
Inherits Animal
Public Overrides Function comer() As String
Return "PASTO"
End Function
Public Overrides Function decir() As String
Return "MUU,MU,MU"
End Function
End Class
Programamos en el Formulario:
Public Class FrmAnimal
Private oanimal As Animal
Private operro As New Perro
Private ogato As New Gato
Private ovaca As New Vaca
Private Sub btnmostrar_Click(sender As System.Object, e As System.EventArgs) Handles btnmostrar.Click
If rbperro.Checked Then
oanimal = operro
ElseIf rbgato.Checked Then
oanimal = ogato
Else
oanimal = ovaca
End If
ovaca.xaltura = 20
ovaca.xpeso = 300
MessageBox.Show("Altura:" & oanimal.xaltura & vbCrLf _
& "Peso:" & oanimal.xpeso & vbCrLf _
& "come:" & oanimal.comer & vbCrLf _
& "dice:" & oanimal.decir, "mensaje", MessageBoxButtons.OK)
End SubEnd Class
- Ejecutamos el Formulario FrmAnimal como nos muestran las imágenes:
CREANDO INTERFACES
Mediante las interfaces, puede especificar los métodos que debe
implementar un componente sin especificar realmente cómo se implementa
el método, mas conceptos puedes ver en: http://msdn.microsoft.com/es-es/library/cc436896%28v=vs.71%29.aspx.
Ejemplo seguimos las imagenes:
. Creamos un formulario con el nombre "FrmInterfaces.vb", y lo diseñamos como muestra la imagen:
Interface D:
Public Interface D
Function IMPRIMIRD() As String
End Interface
Interface C:
Public Interface C
Function IMPRIMIRC() As String
End Interface
Clase B:
Public Class B
Function IMPRIMIRB() As String
Return "IMPRIMIR A"
End Function
End Class
Clase A:
Public Class A
Inherits B
Implements C, D
Function IMPRIMIR() As String
Return MyBase.IMPRIMIRB
End Function
Public Function IMPRIMIRC() As String Implements C.IMPRIMIRC
Return " IMPRIMIR C"
End Function
Public Function IMPRIMIRD() As String Implements D.IMPRIMIRD
Return " IMPRIMIR D"
End Function
End Class
Programamos en el Formulario
Public Class FrmInterfaces
Private IA As New A
Private Sub btnCalcular_Click(sender As System.Object, e As System.EventArgs) Handles btnCalcular.Click
MessageBox.Show("IMPRIME A: " & IA.IMPRIMIRB & vbCrLf _
& "IMPRIME C: " & IA.IMPRIMIRC & vbCrLf _
& "IMPRIME D: " & IA.IMPRIMIRD)
End Sub
End Class
Descargar ejemplo
1 comentarios:
Muchas gracias, me fue de mucha ayuda
Publicar un comentario