Continuamos.
Vamos a crear un nuevo proyecto.
Vamos a cerrar el proyecto Sobrecargan.
Nos vamos a Phil.
serГa proyecto como siempre, nuevo proyecto y proyecto de Yaba.
Siguiente le vamos a llamar.
Siguiente p o herencia.
Finalizar.
Perfecto.
Nos vamos a ir a ese.
Recé.
Vamos a crear un nuevo apa cachón, como siempre or punto a Guzmán, punto el nombre proyecto o herencia.
Enter y dentro con click derecho new lleba class vamos a crear persona enter.
Vamos a crear también alumno.
Y también, pro-fesor.
Gente bien importante que alumno y profesor son tipo de persona.
Por lo tanto, hay una relación de parentesco familiar y la idea de la programación de orientÃ objeto
es modelar la realidad.
Entonces, si no hay sentido de parentesco familiar, de herencia, nos aplica, como vimos la clase
anterior.
Entonces ahora alumno que es una persona, puede tener un nombre, puede tener apellido, una edad,
va a heredar.
Por lo tanto, usamos la palabra extends.
La palabra clave es tent de persona.
Entonces con eso alumno en la clase hija o su clase de persona persona.
La clase padre profesor también extend
de persona.
Bien, recuerden que en Java no se soporta la herencia múltiple.
Por lo tanto, una clase no puede heredar de varias clases al mismo tiempo.
Siempre una sola.
Entonces extends persona nada más es el ancestro más directo, pero a su vez persona no hereda de nada.
De forma implícita.
Pero en realidad si está heredando de Ответы.
Por ejemplo, si hacemos un control y nos posicionamos sobre la clase aparece public class persona stents
objeto.
Y acá vemos que Object es la clase padre de todas las clases en yaba de todos los objetos.
Por lo tanto.
De forma indirecta.
Alumno también hereda de Optic.
Por qué?
Persona es hijo de objeto y Hoggett es un ancestro.
No directamente, pero sí es un ancestro de segundo nivel.
Por ejemplo, lo mismo profesor también hereda de octeto.
Bien, comencemos.
Vamos con los atributos persona.
Qué atributos puede tener Private Tree?
Por ejemplo, el nombre también un apellido
va a tener también edad
y puede tener una dirección, un correo electrónico, un email.
Coloqué mi email perfecto.
Ya esos tienen los atributos en común, tanto para alumno, para profesor y cualquier persona de nuestra
aplicación, incluso para un cliente, para lo que sea.
Ahora vámonos.
Alumno bueno, alumno de cierta forma, ya sea de forma directa o indirecta, va a heredar los atributos
de persona nombre da email, pero también puede tener sus propios atributos más particulares.
Por ejemplo, va a tener un nombre de colegio, es decir, va a estar asociado a un colegio de strength
institución.
Aunque institución o colegio también podría ser una clase aparte y tener una relación de asociación.
Pero bueno, para simplificar lo dejamos como del tipo string, porque lo importante es la herencia,
pero sí puede ser otro objeto, otra clase con sus propios atributos.
Privat también va a tener notas.
Nota matemática,
nota castellano o lenguaje
y también nota historia.
Profesor, por su parte, va a tener una asignatura,
por ejemplo matemáticas, el profesor de castellano, de Historia, de física, lo que sea, pero también
asignatura.
También podría ser otra clase objeto, incluso un numerador con las distintas opciones de asignatura.
Pero bien, para simplificar, del tipo string sí, lo importante cabe la herencia.
Se fijan puros atributos privat.
Entonces, cómo está ahora?
Alumno y profesor no tiene cómo acceder a estos atributos porque son privados.
Solamente podría acceder a sus propios atributos dentro de la clase y podríamos implementar los métodos
que transceptor.
Entonces nos vamos alumno.
Clic derecho generated gué transex marcamos todos.
Y es exactamente lo mismo en Profesor Generate.
Qué transceptor perfecto.
En persona también.
Pero no todavía, porque quiero explicar un tema.
Pero si después vamos a tener Loggia tras Etter de tipo público para que se puedan heredar en alumno
y profesor.
Pero bien, por ahora quiero mostrar paso a paso de cómo poder leer estos atributos según el modificador.
Vamosnos, alumno.
Necesito que pongan atención en este tema.
Voy a tratar de acceder al nombre.
Por lo tanto voy a implementar el metodo nyet en alumno, pero del atributo nombre de persona.
Entonces public va retornar un string get nombre.
En el foro estoy como forzándolo el que en nombre Proton para obtener nombre de persona nombre.
Veamos.
Bueno, obviamente aparece un error porque nombre es de acceso privado private en la clase de persona,
en la clase padre por herencia.
Entonces acá está claro que atributos privados en la clase padre no se puede acceder en la clase hija.
Bien, hay dos soluciones una.
Es implementar ñé trans setter constructor también, por ejemplo, para poder inicializar los datos
o a través de los set.
En fin.
Pero a través de estos métodos que sean públicos, la clase alumno y profesor podrían asignar y obtener
sus datos.
Por ejemplo, pasar el nombre la vio modificar estos datos o asignar estos datos y también leerlos con
la etiqueta se fijan otra forma en vez de usar private usar el modificador protected cuando un atributo
en la clase padre es protegido protected en la clase hija.
Acá se puede acceder.
Se puede leer es solamente para herencia.
Entonces todo atributo protected en la clase padre es visible y se puede acceder tanto en la propia
clase, es decir, en persona, pero también en toda su jerarquía, en toda su descendencia.
Por lo tanto, alumno puede acceder a nombre de forma directa en sus métodos y profesor también podría
implementar el método yeta.
Se piden entonces se puede leer.
Pero bueno, lo recomendable es que los atributo al padre en lo posible sean los más ocultos posible,
lo más protegidos.
Entonces es mejor que sea private, por ejemplo.
Obviamente.
Bueno, acá marca el error no se puede leer y mediante método get y set, pero en la clase padre permito
que las clases hijas bueno y el resto lo puedan acceder, puedan asignar datos y obtener también estos
atributos.
Y también podemos crearme.
Toqué Setter de protector, de protegidos.
Pero también hay otro tema que cuando es protected también se pueden acceder de forma directa en las
demás clases del package.
En ese caso sería en ese sentido es similar a fold.
Por eso también va a depender de nuestro diseño, de cómo lo queremos manejar.
Después vamos a ver algunos ejemplos, pero por ahora lo dejamos en Privat y vamos a implementar los
métodos que transmiten acá.
Entonces jinetear.
Guiteras, Setter, seleccionamos todo.
Ok.
Y obviamente quitamos el nombre, no es necesario en la clase alumno, ya que lo tenemos en la clase
padre es público.
Por lo tanto, todos los métodos públicos del padre luego heredamos.
Bien, entonces, para resumir, alumno tiene su propio get and set en la clase, pero también tiene
los métodos quiete eran setter del padre porque los hereda.
Son públicos.
Lo mismo profesor.
Bien, vamos a crear una nueva clase por acá.
Ejemplo herencia con el método Main.
Bien, vamos a crear un alumno igual New Alumno.
Bien, en alumno punto, acá están los método propio jet institución.
Nyet nota castellano no, victoria matemática se Bingen y los Shet, pero también lo del padre guet
apellido, edad, email, nombre, set, apellido, etc tanto los nombres incluso de la clase Object
porque también hereda de Ответы, hereda Li equals el tub string se fijan?
Entonces acá podemos asignar por ejemplo, el set nombre.
Y también profesor
se fija el profesor puede tener asignatura su propia asignatura, apellido, edad, e-mail y el nombre
el nombre lo tenemos, por ejemplo apellido,
profesor, punto Ceto.
Bueno, una asignatura
matemáticas.
Bueno, también podríamos asignar la edad, se fijan y los demás campos y el uno también podría asignar
Andrés la edad, el e-mail se fijan, pero para el ejemplo, por ahora lo dejamos de esta forma.
Entonces, a pesar de que nombre apellido en la clase persona es privat, lo podemos acceder mediante
los métodos getter setter
nyet nombre.
Llegar podríamos agregar, por ejemplo, un string.
Profesor Espacio concatenados voy a bajar para que no sea tan extenso.
Bajamos y acá concatena Moscón Profesor Punto Geet Asignatura más comillas do punto.
Un espacio concatenados.
Bien, voy a bajar acá.
Perfecto.
Y probamos.
Bejan alumno Andre Guzmán, profesor matemáticas luzy acá es.
Profesor!
Profesor.
Me equivoqué.
A decir Lucy Pérez bien, nada más por ahora, y seguimos en la siguiente clase.