ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

¿Que es la herencia en Java?

Alexis FiscalApuntes29 de Junio de 2022

663 Palabras (3 Páginas)110 Visitas

Página 1 de 3

¿Que es la herencia en Java? Con ejemplos

PUBLICADO EN FEBRERO 14, 2022POR EDUESQUI

[pic 1]

La herencia en Java es la manera en la que una clase adquiere los atributos y comportamiento de otra clase. De manera que esta nueva clase es una especialización de la original. Ahora veamos que quiere decir todo esto en español y con ejemplos.

Cursos relacionados en oferta:

  • Universidad Java – De Cero a Experto
  • GIT+GitHub: Todo un sistema de control de versiones de cero

¿Para que sirve la Herencia?

En ocasiones podemos vernos en la necesidad de crear objetos parecidos y con una estrecha relación entre si. Podría darse el caso de estemos creando un sistema en que debamos manejar el los ingresos de los empleados de una empresa. Entre todos los escenarios que debemos considerar al desarrollar dicho sistema podemos ver que no todos los empleados tiene el mismo tipo de ingresos.

[pic 2]

Nota no es recomendable usar el tipo de dato Double para operaciones matemáticas. De preferencia usar BigDecimal, En este caso es solo para ejemplificar la herencia y no desviar el tema.

Podemos observar en el diagrama de clases anterior que la mayoría de los componentes de la clase se duplican con excepción de que el objeto vendedor tiene un atributo mas llamado comisiones ya que este tipo de empleo además de su sueldo base obtiene pagos por cada venta que realiza y el atributo área en el Tipo Gerente. Como desarrolladores es nuestro trabajo observar las similitudes y poder simplificarlo lo más que se pueda.

En este ejemplo podemos ver dos objetos Gerente y Vendedor. Podríamos definir que ambos son empleados de la misma compañía ¿Cierto? Entonces podríamos re definirlo de la siguiente manera.

[pic 3]

Ahora en el diagrama podemos ver como funciona la Herencia ambos tipo de objetos Gerente y Vendedor heredan los  atributos y métodos . ¿Que quiere decir que Heredan los métodos y Atributos? Veamos lo en el código.

Ejemplo de Herencia en Java

[pic 4]

[pic 5]

[pic 6]


En el Código anterior podemos observar la palabra clave “extends” . Esta palabra nos sirve para indicar desde donde estamos heredando la funcionalidad. Este caso puede leerse como “Gerente extiende de empleado” o “Gerente hereda de empleado”. Siendo el mismo caso para Vendedor.
También podemos observar que el modificador en el caso de Empleado es 
protected. El cual es el apropiado para el acceso desde hijo. Y hemos implementado el método getCalculaSueldoMensual() simulando el descuento de los impuestos.

Veamos ahora su funcionamiento:

[pic 7]

La salida seria la siguiente:

Sueldo neto: $750.0

Sueldo neto: $750.0

Ahora al crear un objeto de Gerente y de Vendedor tenemos acceso a todos los atributos y métodos de la clase Empleado.
Puedes notar un pequeño problema en el código anterior. El Tipo Vendedor tiene un ingreso extra que no se considero en el 
calcularSueldoMensual(). Para esto existe en Java sobreescritura de métodos.

Herencia y escritura de métodos.

Existen ocasiones en la herencia en las que si bien necesitamos la misma respuesta (en este caso el sueldo final mensual) la manera de obtenerlo puede variar en cada tipo de Objeto. Para este caso la sobreescritura de métodos de la herencia en Java nos ayudara a resolverlo.

Para sobrescribir un método debemos en la clase hijo crear un método con el mismo nombre y parámetros de entrada deben ser los mismos del método padre.
Nuestra clase podría crear la de la siguiente manera:

[pic 8]

Puedes notar la anotación override que nos sirve para identificar un método sobrescrito. No es obligatorio pero una buena practica escribirlo como ayuda en la documentación del código.
No es necesario cambiar nada del método Main para obtener ahora la respuesta correcta.

Salida:

Sueldo neto: $750.0

...

Descargar como (para miembros actualizados) txt (4 Kb) pdf (67 Kb) docx (578 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com