Está en la página 1de 6

MSc.

Luis Benavides Sellan – Visual Basic Aplicando la herencia

Visual Basic Aplicando la herencia


En esta sesión aplicaremos el principio de la herencia

¿Qué es la herencia?
Podemos entender la herencia como aquella característica que posibilita que elementos con un origen común reciban
todos o parte de los atributos de su clase base o padre. Por ejemplo, a partir de la clase persona podemos definir subclases
tales como estudiantes, docentes, empleados etc. Cada una de está subclases heredará los atributos y métodos definidos
en la clase padre, pudiendo además tener sus propios métodos particulares.

Ejemplo:

Crearemos una subclase llamada estudiantes, la cual heredara de la clase padre persona los atributos idpersona,
nombres, apellidos y fecha de nacimiento, a más de esto le daremos atributos adicionales propios de la clase estudiante
tales como el curso, paralelo, nivel y sección

Proceso:

1. En el explorador de soluciones daremos clic derecho en el nombre del proyecto y pondremos Agregar - Clase (Add
– Class)

2. Le damos como nombre a la clase ClassEstudiantes

1
MSc. Luis Benavides Sellan – Visual Basic Aplicando la herencia

3. A continuación escribimos el código correspondiente, para indicar la herencia debemos escribir en la segunda línea
de la clase la palabra Inherits seguida del nombre de la clase padre.

Inherits <nombre de la clase padre>

4. El código completo quedaría así:

Public Class ClassEstudiantes


REM indicar la clase Padre
Inherits ClassPersona

REM Encapsular Atributos


Private _curso As Byte
Private _seccion As Char
Private _paralelo As Char
Private _nivel As String

2
MSc. Luis Benavides Sellan – Visual Basic Aplicando la herencia

REM Definir Métodos de Acceso

Public Property curso As Byte


Get
Return _curso
End Get
Set(ByVal value As Byte)
_curso = value
End Set
End Property
Public Property seccion As Char
Get
Return _seccion
End Get
Set(ByVal value As Char)
_seccion = value
End Set
End Property

Public Property paralelo As Char


Get
Return _paralelo
End Get
Set(ByVal value As Char)
_paralelo = value
End Set
End Property

Public Property nivel As String


Get
Return _nivel
End Get
Set(ByVal value As String)
_nivel = value
End Set
End Property

REM Definir Constructor Forma 1 valores inciales vacios


Public Sub New()
idPersona = ""
Nombres = ""
Apellidos = ""
curso = 1
seccion = "M"
paralelo = "A"
nivel = "EGB"
End Sub

3
MSc. Luis Benavides Sellan – Visual Basic Aplicando la herencia

REM Definir Constructor Forma 2 Dar valores iniciales

Public Sub New(ByVal xIdPersona As String, _


ByVal xNombres As String, ByVal xApellidos As String _
, ByVal xCurso As Byte, ByVal xSeccion As Char, _
ByVal xparalelo As Char, ByVal xnivel As String)

idPersona = xIdPersona
Nombres = xNombres
Apellidos = xApellidos
curso = xCurso
seccion = xSeccion
paralelo = xparalelo
nivel = xnivel
End Sub

End Class

Para comprobar el funcionamiento de está subclase denominada estudiantes la instanciaremos en la cabecera y evento
load de un formulario

Public Class Form1


REM Crear una instancia de la clase estudiantes
Public MiEstudiante As ClassEstudiantes = New ClassEstudiantes()

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As


System.EventArgs) Handles MyBase.Load
MiEstudiante.Nombres = "Juan"

MessageBox.Show("El nombre del estudiante es:" + _


MiEstudiante.Nombres)
End Sub
End Class

Al ejecutar nos aparece:

4
MSc. Luis Benavides Sellan – Visual Basic Aplicando la herencia

Ejemplo 2:

A partir de la clase persona ahora crearemos una subclase llamada docentes, la cual tendrá como atributos adicionales el
título y la fecha de ingreso a la institución por parte del docente. Crearemos un método que nos permita calcular los
años de servicio en la institución.

Public Class ClassDocentes


Inherits ClassPersona
REM definiendo atributos
Private _titulo As String
Private _fechaIngreso As DateTime

REM definimos propiedades públicas para los atributos


Public Property titulo As String
Set(ByVal value As String)
_titulo = value
End Set
Get
Return _titulo
End Get
End Property

Public Property fechaIngreso As DateTime


Set(ByVal value As DateTime)
_fechaIngreso = value
End Set
Get
Return _fechaIngreso
End Get
End Property

REM Definimos una función para Obtener los años de servicio


Public Function ObtieneAnios(ByVal xFechaIngreso As DateTime) As Byte
Dim anios As Byte
anios = DateTime.Now.Year - xFechaIngreso.Year
Return anios
End Function

REM Definir el constructor de la clase Forma 1


Public Sub New()
idPersona = ""
Nombres = ""
Apellidos = ""
FechaNacimiento = New DateTime(2000, 1, 1)
titulo = ""
fechaIngreso = New DateTime(2020, 1, 1)
End Sub
'Definir el constructor de la clase Forma 2

5
MSc. Luis Benavides Sellan – Visual Basic Aplicando la herencia

Public Sub New(ByVal xidPersona As String, ByVal xNombres As String, _


ByVal xApellidos As String, ByVal xFechaNacimiento As DateTime,
_
ByVal xtitulo As String, ByVal xfechaIngreso As DateTime)
idPersona = xidPersona
Nombres = xNombres
Apellidos = xApellidos
FechaNacimiento = xFechaNacimiento
titulo = xtitulo
fechaIngreso = xfechaIngreso
End Sub

End Class

También podría gustarte