JAVA 06 Herencia
JAVA 06 Herencia
JAVA 06 Herencia
com/p4anu
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.
-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.
Por ejemplo:
-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
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.
[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:
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
(aparecen siempre que se hayan introducido tambien, dentro de la superclase, en los métodos Getter y Setter)
https://panuanunaki.wixsite.com/p4anu