Top Ad unit 728 × 90

Recientes

recent

Herencia y Polimorfismo POO - Programación en Visual Basic Net con Visual Studio 2013 (24-25)

En este artículo continuamos revisando conceptos de programación orientada a objetos, trabajaremos con herencia para crear una superclase y subclases implementando un ejemplo en el lenguaje de programación Visual Basic .Net utilizando el IDE Visual Studio.

Pueden ver los vídeos directamente en youtube:

Visita nuestro canal en youtube donde encontrarás cursos completos de Desarrollo de software y aprende a diseñar sistemas informáticos totalmente gratis:

Gracias por seguir con este Curso completo de Visual Basic.Net desde cero, bienvenidos les sugiero a todos los que se inician a programar aplicaciones Windows Forms que sigan este Tutorial completo.

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

Herencia y Polimorfismo POO (24-25) Programación en Visual Basic Net con Visual Studio 2013


Saludos Imperio, un abrazo a la distancia.
Herencia y Polimorfismo POO - Programación en Visual Basic Net con Visual Studio 2013 (24-25) Reviewed by Liliana Nataly Arcila Diaz on 12:52 Rating: 5

3 comentarios:

  1. Hola Juan Carlos, una consulta te comento que cuando intento agregar la referencia me dice que no se puede agregar una referencia al proyecto clase pero no le he logrado encontrar solución si pudieras ayudar.

    Saludos y excelente curso.

    ResponderEliminar
  2. Tuve el mismo problema que Gabriel y sigo sin poder encontrar la solución, ojala y me puedas ayudar con esto...
    Saludos... Excelente curso muy bien explicado.

    ResponderEliminar
  3. Buena tarde, en el proyecto debe tener un winform y en la carpeta app_class el archivo llamado clases,en este archivo creas la clase persona, vendedor, cliente

    Luego en el codigo del winform si coloca
    Imports clases

    Es decir el import al nombre del archivo donde codifico cada clase

    Saludos

    ResponderEliminar

Todos los derechos reservados www.IncanatoIT.com - Desarrollando Software © 2014 - 2019
Desarrollado por Blogger, Designed by Sweetheme
IncanatoIt.com. Con la tecnología de Blogger.
y>