Está en la página 1de 8

https://panuanunaki.wixsite.

com/p4anu

HERENCIA - Dont repeat yourself/ No te repitas

Un principio fundamental es no repetirse, es decir REUTILIZAR código.

//la noción de HERENCIA es esencial en esto.

básicamente es crear clases a partir de otras para reutilizar y


ahorrar sintaxis de código.

// es fundamental la estructura relacional padre-hijo


https://panuanunaki.wixsite.com/p4anu

//al lugar del padre se lo llama SUPERCLASE, y al lugar hijo SUBCLASE

CONCEPTUALIZACIÓN
La HERENCIA es una clase aún más abstracta que las “clases abstractas” (<clase abstracta> es un concepto en Java).

-Clase abstracta: Una clase abstracta es una clase común que posee atributos y métodos, y tiene como mínimo un
método abstracto, además puede contener métodos normales. Esta clase no puede ser instanciada (*), solo puede
heredarse, o sea no se puede usar para crear un objeto.

[*instanciar clase: llamada explícita al constructor para instanciar un nuevo objeto]

-Método abstracto: un método abstracto es un método de una clase (o también de una “interface” en Java) que no
tiene implementación o definición (es decir, sólo tiene declaración).

Un método abstracto es un método declarado pero no implementado, es decir, es un método del que solo se escribe su
nombre, parámetros y tipo devuelto pero no su código.

Los métodos abstractos se escriben sin llaves {} y con ; al final de la declaración.

Por ejemplo:

public abstract double area();

-HEREDAR CLASE: La herencia en Java implica que una superclase o clase base hereda sus funciones y atributos a una
subclase o clase derivada. La palabra reservada que nos permite realizar herencia entre clases es extends

Entonces, si varias clases comparten mismos atributos y mismos comportamientos. Estas clases se pueden leer como
subclases y en una respectiva superclase se pueden reunir esos elementos en común.
https://panuanunaki.wixsite.com/p4anu

EJEMPLO DE APLICACIÓN DE HERENCIA

En un proyecto tenemos dos clases que comparten mismos atributos. La clase “Patient.java” y “Doctor.java”.

//Patient.java

//Doctor.java

Elementos repetidos: id, name, email, address, phoneNumber. Entonces se pueden ABSTRAER.

Para eso se genera una nueva clase que llamaremos “user”, porque tanto si es el paciente el que utiliza el software,
como si es un doctor, será necesario que este se identifique (haciendo uso de los atributos) al ingresar.
https://panuanunaki.wixsite.com/p4anu

//clase creada

Se ingresan los atributos que las subclases (que pasaran a ser subclases) comparten:

Creamos un método constructor para los atributos que consideremos fundamentales (respecto a las subclases):

Y tambien, en User, creamos todos los Getters y Setters de los atributos (utilizamos el método abreviado que posibilita
intellijiIDEA a partir de dar un click secundario)
https://panuanunaki.wixsite.com/p4anu

(Se seleccionan todos los atributos para la creación de Getters and Setters, y listo)

Así User ha quedado como superclase, la superclase es la clase que recoge los atributos redundantes.

SINTAXIS – palabra reservada extends

//la palabra extends es la que indica la herencia

//Ejemplo de aplicación en clase Doctor.java


https://panuanunaki.wixsite.com/p4anu

[ACLARACION: en el proceso de herencia, el “id” (identificador) de cada objeto/clase será administrado por una base de
datos////// pero eso se ve en bases de datos, no en este momento del curso de Java]

//Pero, para aplicar la herencia en Doctor.java de User.java (superclase padre), será necesario aplicar la herencia del
método que está como constructor en User:

Si no se hereda el constructor, aparece este mensaje de error en la subclase:

Para heredar el constructor de una superclase, se utiliza la palabra reservada super

La palabra reservada super es indicativa del campo de acción, como this (pero por el contrario de esta, super expande)
https://panuanunaki.wixsite.com/p4anu

super hace referencia a la superclase

En intellijiIDEA si escribo “super.” Predictivamente aparecen los atributos de la superclase construida:

(aparecen siempre que se hayan introducido tambien, dentro de la superclase, en los métodos Getter y Setter)
https://panuanunaki.wixsite.com/p4anu

SINTAXIS DE LA HERENCIA, EJEMPLO:

También podría gustarte