Buscador

Herencia y sobre-escritura de métodos - II

Para ilustrar esta situación, añadiremos a la clase Empleado la propiedad Salario, y un método para calcularlo, de modo que todos los empleados tengan inicialmente el mismo salario, sin embargo, los administrativos necesitan un pequeño incremento. Para no tener que volver a realizar el cálculo en la clase Administrativo, vamos a aprovechar el cálculo que ya se realiza en la clase padre, añadiendo sólo las operaciones particulares que necesitemos. Veámoslo en el Código fuente 268.

Module Module1
Sub Main()
Dim loEmp As New Empleado()
loEmp.piID = 50
loEmp.Nombre = "juan casas"
loEmp.VerDatos()
loEmp.CalcularSalario()
Console.WriteLine("Salario {0}", loEmp.Salario)
Console.WriteLine()
Dim loAdmin As New Administrativo()
loAdmin.piID = 129
loAdmin.Nombre = "elena redondo"
loAdmin.VerDatos()
loAdmin.CalcularSalario()
Console.WriteLine("Salario {0}", loAdmin.Salario)
Console.ReadLine()
End Sub
End Module
Public Class Empleado
'......
'......
Public miSalario As Integer
Public Property Salario() As Integer
Get
Return miSalario
End Get
Set(ByVal Value As Integer)
miSalario = Value
End Set
End Property
Public Overridable Sub CalcularSalario()
Me.Salario = 800
End Sub
'......
'......
End Class
Public Class Administrativo : Inherits Empleado
'......
'......
Public Overrides Sub CalcularSalario()
' utilizamos el método de la clase base
MyBase.CalcularSalario()
Me.Salario += 50
End Sub
End Class
Código fuente 268

No hay comentarios:

Publicar un comentario