Qué es la herencia
https://engineerdesistemas.blogspot.com/2016/07/que-es-la-herencia.html
Herencia en programación orientado a objetos es una gran forma de reutilizar el código, en otras palabras es crear una clase pero no desde cero sino que se base en otra clase ya previamente creada.
Vamos a ilustrar el siguiente ejemplo creando una clase "Persona" con algunos atributos y un comportamiento "cambiarEmail".
A medida que vamos construyendo nuestra aplicación nos vamos dando cuenta que necesitamos construir otra clase, como por ejemplo la clase "Cliente" tal como se muestra en el gráfico:
Si se observa la clase "Cliente" es casi exactamente igual a la clase "persona" con los mismo atributos y comportamiento, a excepción del atributo "numeroCliente".
Por lo que si hacemos uso de la abstracción no es óptimo añadir la propiedad "numeroCliente" a la clase "Persona", lo que se debe realizar es efectivamente crear una nueva clase "Cliente" pero que hereda algo de la clase "Persona".
La denotación es: Cliente hereda de Persona, es decir todos sus atributos y todos sus comportamientos, solo que se puede añadir a nuestra clase Cliente la propiedad "numeroCliente", se puede insertar algún otro atributo y también algún otro método.
Ilustrativamente quedaría así:
Se debe tomar en cuenta que a partir del gráfico: la clase "Persona" es ahora Superclase (Clase madre) y la nueva clase "Cliente" se denomina Subclase (Clase hija).
Este concepto de herencia se refuerza en lenguajes como Java, Objetive-C y Rubi.
Vamos a ilustrar el siguiente ejemplo creando una clase "Persona" con algunos atributos y un comportamiento "cambiarEmail".
Si se observa la clase "Cliente" es casi exactamente igual a la clase "persona" con los mismo atributos y comportamiento, a excepción del atributo "numeroCliente".
Por lo que si hacemos uso de la abstracción no es óptimo añadir la propiedad "numeroCliente" a la clase "Persona", lo que se debe realizar es efectivamente crear una nueva clase "Cliente" pero que hereda algo de la clase "Persona".
La denotación es: Cliente hereda de Persona, es decir todos sus atributos y todos sus comportamientos, solo que se puede añadir a nuestra clase Cliente la propiedad "numeroCliente", se puede insertar algún otro atributo y también algún otro método.
Ilustrativamente quedaría así:
Se debe tomar en cuenta que a partir del gráfico: la clase "Persona" es ahora Superclase (Clase madre) y la nueva clase "Cliente" se denomina Subclase (Clase hija).
Este concepto de herencia se refuerza en lenguajes como Java, Objetive-C y Rubi.