Hola y bienvenidos esta elección.
A continuación vamos a estudiar el tema de herencia en Java están listos.
Vamos bien vamos a hacer nuestro proyecto derecho y Clowes y vamos a crear un nuevo proyecto damos el
derecho en Phinney Project ya la web maybe posteriormente ya la aplicación y el nombre del proyecto
se llama ejemplo de herencia
y lo depositamos en la carpeta de cursos Java quitamos el nombre del paquete y dejamos los demás valores
por default y damos pueden finalizar vamos a utilizar a continuación el siguiente diagrama de clases
este diagrama de clases fue creado utilizando la siguiente herramienta según se muestra en el link y
básicamente lo que estamos definiendo es una clase padre llamado Persona.
Posteriormente definimos una clase hija llamada empleado y también creamos otra clase de hija llamada
cliente que también hereda de la clase de persona.
La clase persona tiene los siguientes atributos según se muestra nombre género edad y dirección con
los tipos indicados y tenemos los métodos Get y ser correspondientes a cada uno de los atributos.
Posteriormente la clase empleado define a los siguientes atributos y también se agregan los elementos
Goeth y ser correspondientes.
Por su parte la clase cliente también define algunos atributos y también agregamos los métodos G.T y
ser correspondientes así que éste es el código que vamos a realizar a continuación.
Una vez que hemos visto este diagrama de clases entonces vamos a hacer lo siguiente Vamos a crear nuestra
clase persona así que damos clic derecho Nioh y a la clase la clase se llama persona dejamos los demás
valores por default y damos fuguen finalizar quitamos estos comentarios y hacemos lo siguiente según
la gama de clases que hemos visto vamos a agregar los siguientes atributos agregamos el atributo de
nombre que es de tipo string
también agregamos el género que es de tipo Char
agregamos la edad que es de tipo entero y agregamos la dirección que es de tipo string y todas son de
tipo privado posteriormente vamos a agregar un constructor vació
va a ser el tipo público llamado Persona
y posteriormente agregamos un constructor con un argumento
así que definimos el constructor persona y únicamente va a recibir el nombre
y con este valor inicial usamos el atributo de nombre con el argumento que estamos recibiendo y este
constructor lo vamos a utilizar para poner en práctica el uso de la palabra súper esto.
Pero esto lo vamos a ver a continuación y ahora agregamos un constructor completo así que agregamos
el constructor con todos sus argumentos va a ser el tipo Public persona y agregamos los argumentos de
nombre género edad y dirección
y modificamos cada uno de los valores
como el nombre género edad
y finalmente dirección
así que con eso ya tenemos todos nuestros constructores así que ya podemos crear objetos utilizando
al constructor vació simplemente proporcionando un nombre o proporcionado todos los atributos que necesitamos
para inicializar por completo nuestro objeto persona bien ahora vamos a hacer lo siguiente Vamos a definir
los métodos jet set para cada uno de nuestros atributos para esto vamos a apoyarnos de las herramientas
de nuestro aire damos clic derecho y posteriormente seleccionamos Incer Cogburn y seleccionamos la opción
de querer acceder y vamos a seleccionar todos los atributos para que nos genere de manera automática
los métodos jet set para cada atributo dirección edad género y nombre y damos Figa en general.
Así que podemos ser que ya tenemos todos los métodos y sus respectivos y por último lo que vamos a hacer
es también generar nuestro método string de manera automática damos clic derecho Intercorp seleccionamos
el método string y dejamos todos los valores nombre género edad y dirección y damos clic en generar
y con esto ya tenemos nuestra clase completa de persona.
Ahora debido a que en esta clase no estamos indicando que estamos haciendo extensiva de manera explícita
de otra clase es decir que no tenemos la palabra reservada extensa en la definición de la clase entonces
en automático está heredando de la clase obvie.
Así que si presionamos la tecla de control y nos posicionamos sobre el nombre de nuestra clase podemos
observar que en este caso de manera automática el compilador va a agregar extensión de la clase Object
y recordemos que esta clase es la clase padre de todas las clases en Java y ahora vamos a crear las
subclases de esta clase así que damos clic derecho ya va a clase y la clase se llama empleado dejamos
los demás valores por default y damos siguen finalizar esta clase si va a tener un extenso explícito
vamos a poner extensos persona y eso en automático hace que todos los métodos que sean públicos los
va a heredar de manera automática la clase empleado.
Así que desde esta clase ya podríamos acceder sin ningún problema a todos los métodos que sean públicos.
Los constructores no se heredan y tampoco todos los atributos o métodos que sean privados.
Posteriormente vamos a ver más modificadores de acceso pero en esta elección a nivel general podemos
decir que todo lo que sea privado y constructores no se heredan a la clase e hija en este caso la clase
de empleado.
Pero todo lo que sea públic excepto los constructores se heredan de manera automática a la clase empleado.
Así que los vamos a poder utilizar como si los hubiéramos definido dentro de la clase empleado.
Recordemos que cuando creamos un objeto de tipo empleado va a incluir también las características de
la clase de persona de manera interna y de manera automática así que vamos a agregar las características
particulares de esta clase empleado.
Así que agregamos lo siguiente agregamos un atributo privado de tipo entero llamado Eugui empleado posteriormente
declaramos una variable de tipo doble llamada
sueldo y posteriormente agregamos una variable estática de tipo entero llamada Contador empleado y la
vamos a utilizar como vimos en la elección de contexto estático para saber cuántos objetos de tipo empleado
hemos creado.
Ahora vamos a agregar un constructor
de tipo público va a recibir el nombre y posteriormente va a recibir el sueldo
pero recordemos que este nombre no está definido dentro de esta clase empleado sino que ese atributo
está definido dentro de la clase persona.
Ese es el atributo de nombre y si damos control clic sobre esta clase de persona nos va a llevar a la
definición de la clase persona y para poder inicializar el atributo de nombre de la clase padre entonces
vamos a utilizar la palabra reservada súper así que vamos a poner súper y posteriormente tenemos tres
constructores en la clase padre.
Realmente aquí lo que estamos haciendo con la palabra súper es mandar a llamar los constructores pero
de la clase padre en este caso la clase persona así que podemos mandar a llamar el constructor vació
el constructor con un argumento o el constructor con todos los argumentos en este caso únicamente queremos
inicializar el nombre así que vamos a utilizar el constructor con un argumento y si damos contra el
click podemos ver que en automático nos lleva al constructor con un argumento.
De esta manera sabemos exactamente cuál es el constructor de la clase padre que se está ejecutando bien
como siguiente paso vamos a inicializar los atributos de empleado y vamos a incrementar la variable
Contador empleado para asignar un Heydi a la variable de empleado.
Cualquier duda con esta sintaxis pueden revisar la lección de contexto estático y finalmente inicializar.
El atributo de sueldo con el argumento que estamos recibiendo inicializar el atributo de sueldo.
Ahora vamos a generar los métodos G.T respectivos de nuestra clase para el atributo de Heydi empleado
y también para el sueldo.
Así quedamos un derecho Incer Coupet y generamos los métodos Jet Set seleccionamos todos los atributos
y en un momento vamos a hacer algunas otras modificaciones de momento generamos todo pero no vamos a
utilizar el método set hoy empleado ya que ese atributo únicamente lo vamos a inicializar a través del
constructor de la clase.
Por lo tanto una vez que se inicializar no ya no vamos a permitir modificarlo así que quitamos el método
Zet hoy día empleado y tampoco vamos a necesitar el método ser contador empleado si lo necesitáramos
lo podemos dejar pero en este caso únicamente lo vamos a incrementar desde el constructor de la clase
así que este es el único lugar donde vamos a modificar el valor de la variable Contador empleado y únicamente
dejamos el método GET Contador empleado y recordemos que al ser estático no podemos utilizar dice.
En cambio en estos atributos es opcional utilizar 10 pero en este caso al ser una variable estática
no podemos utilizar 10 bien y como último paso vamos a generar el método autodestruyen inciar COV destruí
y dejamos los valores seleccionados el aire empleado y el sueldo Podemos se va que no nos están mostrando
tampoco la variable estática.
Sin embargo podríamos utilizarla también sin ningún problema pero antes de imprimir los valores de la
variable empleado también queremos saber cuáles son los valores de la clase padre en este caso de la
clase persona y para poder mandar a llamar algún método de la clase padre vamos a hacer lo siguiente
Vamos a utilizar la palabra reservada súper y posteriormente podemos mandar a llamar.
Algunos de los métodos heredados de la clase padre por ejemplo en este caso el método autodestruyen.
Esto para que no regrese la información también de la clase padre y posteriormente concatenados entonces
los valores de la clase empleado.
Recordemos que es un solo objeto el que se crea en memoria pero estamos dividiendo la información entre
la clase padre.
Esta es la información del método cuestión de la clase padre y esta es el método de la información Tsering
de la Clase E HIJA DE LA CLASE empleado.
Con esto ya tenemos completa la creación de nuestra clase empleado bien ahora vamos a hacer algo muy
similar para la clase de cliente así que vamos a crear esta clase de cliente click derecho ni un IAVA
class la clase se llama cliente dejamos los demás valores por default y damos siguen finalizar y esta
clase va a heredar de la clase de persona.
Y ahora agregamos los atributos particulares de esta clase va a ser un atributo privado de tipo entero
llamado Heydi cliente
también tenemos una variable privada de tipo Droit para almacenar una fecha que se llama fecha registro.
Importamos el nombre de esta fecha damos clic en Add.
Todavía no hemos visto el tema de paquetes pero básicamente un paquete es una carpeta y básicamente
en Java utilizamos folders o carpetas conocidos como paquetes para organizar nuestras clases así que
la clase de puede estar organizada en diferentes paquetes.
Por ejemplo en este caso el paquete ya va punto y útil es la clase que queremos utilizar pero también
existen otras clases organizadas en otros paquetes.
Por ejemplo en este caso apuntó SQL pero la clase que queremos utilizar es la clase en el paquete de
Java.
Punto y útil ir a clase se llama Droit así que damos clic sobre esta clase para que se realice el importe.
En dado caso de que no lo realizara de manera automática entonces agregamos esta línea import espacio
Java punto y útil que es el nombre del paquete y posteriormente punto el nombre de la clase.
En este caso la clase se llama droit y debe de ir antes de la definición de la clase.
Bien con eso ya podemos utilizar la clase de la clase fecha posteriormente definimos una variable también
privada de tipo bullían llamada VIP para saber si este cliente es un cliente VIP Very Important Person
y finalmente agregamos una variable estática también privada de tipo entero llamada Contador clientes
para poder inicializar el atributo de Heydi cliente y saber cuántos objetos de tipo cliente hemos creado.
De igual manera cualquier duda con esta sintaxis pueden revisar la lección de contexto estático.
Ahora vamos a definir un constructor de esta clase.
El constructor es público llamado cliente recibe el atributo de fecha y también recibe el atributo de
bullían el atributo para saber si un cliente es VIP inicializar.
El atributo Heydi cliente apoyándonos de la variable estática Contador clientes pero antes inicializar
esta variable Contador clientes.
En este caso no vamos a utilizar super para inicializar alguno de los valores de la clase padre.
Sin embargo si utilizamos la llamada a Supper para llamar el constructor de la clase padre debe de ser
la primera línea de código así que no podríamos hacer lo siguiente.
Super ya que esta debe de ser la primera línea en dado caso de que la utilicemos.
Como podemos observar en el mensaje Costus super Villefort Steinman y reconstructor así que en dado
caso que lo mandáramos llamar debería de ser la primera línea.
Como podemos observar también en la clase empleado esta fue la primera línea que definimos no puede
ir después ya que la orden de construcción de los objetos primero se debe de crear por completo el objeto
persona y posteriormente se termina de crear el objeto empleado.
Esto lo vamos a ver también posteriormente cuando veamos el orden de construcción de los objetos pero
por ello es que esta línea si es que existe si es que la definimos debe de ser la primera línea dentro
de la llamada de nuestros constructores.
Ahora vamos a terminar de inicializar a nuestro constructor asignamos los valores que estamos recibiendo
de fecha de registro
para inicializar el atributo de fecha de registro y también el atributo de VIP
inicializar atributo de BIC bien y eso es todo lo que va a tener nuestro constructor únicamente vamos
a definir este constructor posteriormente generamos los métodos Jet Set damos clic derecho Intercorp
generamos los métodos jet set.
De momento vamos a generarlo para todos los atributos
damos clic en generar y de igual manera los cambios que hicimos en la clase anterior no vamos a permitir
modificar la variable de cliente una vez que le hemos asignado el valor y tampoco la variable Contador
clientes.
Bien con estos cambios ya tenemos lista de nuestra clase y finalmente agregamos el método autodestruyen
damos clic derecho insert corte seleccionamos tu string y seleccionamos todos los atributos y de igual
manera vamos a llamar primero Super Punto.
Método 3 string para que también conozcamos los valores de los atributos de la clase padre así que con
esto ya tenemos lista nuestra clase.
Vamos a tener hasta aquí este vídeo y en el siguiente vídeo vamos a crear una clase para poner a prueba
todas estas clases que hemos creado.
Nos vemos en el siguiente vídeo.
Saludos.