Alguna vez te has preguntado para que sirve la herencia en java o como podemos utilizarla? Pues en este tema veremos todo acerca de una herencia simple en java, con un buene ejemplo en codigo veras que no es tan dificil como parece.
Cuando estamos realizando un programa, a menudo necesitamos de un modelo (una clase) o algo que nos generalize varios objetos, a partir de ese modelo despues necesitamos describir con mas especificacion todos los distintos modelos o ejemplos que podemos tener. Vamos a poner de ejemplo a un
empleado. Normalmente en una empresa tenemos muchos empleados, pero no todos los empleados cuentan con las mismas caracteristicas, cierto?
Por ejemplo: Tu quieres crear un modelo para un Gerente, un gerente es un empleado pero con diferentes caracteristicas.
Miremos el el diagrama UML de ambas clases
Emleado:
Empleado
|
+nombre: String = ” ”
+salario: double
+fechaNacimiento: Date |
+getDetails(): String |
Gerente:
Gerente
|
+nombre: String = ” ”
+salario: double
+fechaNacimiento: Date
+departamento: String |
+getDetails(): String |
A continuacion se describe una posible implementacion de ambas clases:
public class Empleado
{
public String nombre = "";
public double salario;
public Date fechaNacimiento;
public String getDetails() {...}
}
public class Gerente
{
public String nombre = "";
public double salario;
public Date fechaNacimiento;
public String departamento;
public String getDetails() {...}
}
En este ejemplo se puede apreciar la duplicacion de datos entre ambas clases, a exepcion que el gerente tiene un atributo mas que es el departamento, de ahi en fuera todos los atributos son los mismos. Ademas de eso se puede observar que tienen los mismos metodos que en este caso es un solo metodo que se llama: getDetails(). Imaginate tener que crear una clase por cada diferente empleado que tenemos en la empresa? seria bastante tardado y nada optimo. Para este tipo de ejemplos nos sirve perfectamente la herencia, lo que necesitamos hacer, es crear una nueva clase a partir de una ya existente, a esa clase se la llama
Subclase.
Miremos ahora un nuevo ejemplo de como quedaria nuestro UML si creamos una nueva subclase a partir de nuestra clase principal (empleado) o clase padre.
Empleado
|
+nombre: String = ” ”
+salario: double
+fechaNacimiento: Date |
+getDetails(): String |
Gerente
|
+departamento: String |
|
Utilizando herencia lo que hacemos es crear nuestra clase modelo, que en este caso es nuestra clase empleado, y a partir de ahi ir creando diferentes subclases que necesitemos (o clases hijos) que tengan diferentes atributos o metodos pero aprovechando todo lo que nos hereda nuestra clase padre.
La herencia no es nada mas que eso, heredar (vaya la redundancia) lo de nuestra clase padre y tener otras caracteristicas adicionales.
A continuacion vemos la implementacion de nuestra clase Gerente, ya que nuestra clase Empleado quedara igual que como la describimos al principio.
public class Gerente extends Empleado
{
public String departamento;
}
asi es como nosotros podemos heredar de una clase padre, utilizando la palabra "extends ClasePadre" despues de nombrar nuestra clase, podemos heredar todos los metodos y atributos (siempre y cuando no sean privados pero eso lo vemos despues) y hacer uso de ellos, de esta manera nos ahorramos mucho trabajo. Bastante util, no?
Despues veremos mas ejemplo y crear herencia con mas clases, espero que te haya gustado y mas que nada servido esta publicacion, si tienes alguna duda o algo que quieras compartir puedes dejarnos un comentario y con gusto responderemos :).
Comentarios
Publicar un comentario