Sunteți pe pagina 1din 5

Programación Orientada a Objetos

Herencia

Es un mecanismo que sirve para reutilizar clases


Se utiliza cuando existen clases que comparten muchas de sus características
Se extiende la funcionalidad de clases más genéricas
Se introducen los conceptos de superclase y subclase

Polimorfismo

► Se puede modificar localmente el comportamiento de los métodos heredados


► De esta manera, objetos de diferentes tipos pueden responder de forma
diferente a la misma llamada
► Este es el concepto clave del polimorfismo

Ejemplo
► Se mueve igual un pez, un pájaro o una rana?
► En cambio, todos son animales y por tanto podrían heredar el método mover de
dicha clase
► Gracias al polimorfismo, cada objeto concreto realizaría la operación mover
como corresponda
1. Crear la solución POOHerencia.
2. Agregar la Biblioteca de clases a la solución llamada Clases
3. Agregar las clases Persona, Cliente, Vendedor

Clase Persona
Public Class Persona
'Atributos
Private _apellidos As String
Private _nombres As String
Private _documento As String
Private _tipo As String

'Propiedades
Public Property Apellidos As String
Get
Return _apellidos
End Get
Set(value As String)
_apellidos = value
End Set
End Property

Public Property Nombres As String


Get
Return _Nombres
End Get
Set(value As String)
_Nombres = value
End Set
End Property

Public Property Documento As String


Get
Return _documento
End Get
Set(value As String)
_documento = value
End Set
End Property

Public Property Tipo As String


Get
Return _tipo
End Get
Set(value As String)
_tipo = value
End Set
End Property
End Class

Clase Cliente
Public Class Cliente
Inherits Persona
'Atributos
Private _categoria As String
Private _codigo As String

'Propiedades
Public Property Categoria As String
Get
Return _categoria
End Get
Set(value As String)
_categoria = value
End Set
End Property

Public Property Codigo As String


Get
Return _codigo
End Get
Set(value As String)
_codigo = value
End Set
End Property

'Operación
Public Sub generarCodigo()
Me.Codigo = "C" & Me.Apellidos.Substring(0, 3) + "16"
End Sub
End Class

Clase Vendedor

Public Class Vendedor


Inherits Persona
'Atributos
Private _tipoContrato As String
Private _sueldo As Double

'Propiedades
Public Property TipoContrato As String
Get
Return _tipoContrato
End Get
Set(value As String)
_tipoContrato = value
End Set
End Property
Public Property Sueldo As Double
Get
Return _sueldo
End Get
Set(value As Double)
_sueldo = value
End Set
End Property
'Operaciones
Public Sub calcularSueldo(sueldoBase As Double)

If (Me.TipoContrato = "C") Then


Me.Sueldo = sueldoBase + 350
ElseIf (Me.TipoContrato = "N") Then
Me.Sueldo = sueldoBase + 750
Else
Me.Sueldo = 0
End If
End Sub
End Class

4. Agregar un nuevo proyecto Windows Form llamado Formularios


5. Agregar la referencia del proyecto Clases al proyecto Formularios para poder
utilizar todas las clases del proyecto Clases.
6. Implementamos un Windows form llamado frmRegistro

Formulario:

Imports Clases

Public Class frmRegistro

Private Sub btnGuardar_Click(sender As Object,


e As EventArgs) Handles btnGuardar.Click
Dim vendedor1 As Vendedor = New Vendedor()
vendedor1.Apellidos = txtApellidos.Text
vendedor1.Nombres = txtNombres.Text
vendedor1.Documento = txtDocumento.Text
vendedor1.Tipo = cboTipo.Text
vendedor1.TipoContrato = cboTipoContrato.Text

vendedor1.calcularSueldo(750)
dgvVendedores.Rows.Insert(0, vendedor1.Tipo,
vendedor1.Apellidos, vendedor1.Nombres, vendedor1.Documento,
vendedor1.Sueldo)

End Sub
End Class

S-ar putea să vă placă și