Bienvenidos.
Continuamos con los constructores y el control de tipos, pero bien.
La idea es dejar ejemplo herencia como esta.
Íbamos a crear una nueva clase y la vamos a modificar a partir de ésta para crear las instancias con
constructores y pasar los parámetros.
Bien, nos vamos a ejemplo a este package, vamos a copiar, pegamos también en ejemplo y nombramos.
Bien, acá hay que ver dos cosas.
Primero, el tema de constructores instanciar usando parámetros.
Bueno, lo que vimos la clase anterior y lo otro el control de tipo utilizando instanceof Bien ejemplo
herencia constructores
ok.
Bien, este de acá ya lo cerramos.
Lo dejamos ahí tal cual funcionando, y este de acá lo modificamos.
Bien, lo voy a modificar un poco.
Puede quitar alguna cosa, por ejemplo?
Es todo acá.
El profesor también.
Ya.
Y es todo acá.
Lo voy a dejar ya.
Después lo voy a cambiar en el control de tipo.
Vamos a modificar la instancia acá.
Primero alumno recordemos que alumno pasa primero en nombre.
Entonces la idea es quitar los set y colocar acá los datos.
Por ejemplo, en tres coma Kurtzman coma la edad cualquiera, se fijan.
Ahí tenemos uno con tres parámetros.
Pero revisemos qué opciones tenemos.
Bueno, con nombre, apellido, nombre, pillow, edad.
Y también tenemos la institución.
También la podríamos agregar.
Recuerden que alumno acá Andrés.
Entonces también podría pasar.
Instituto Nacional se fijan y todo.
Acá ya se quita, se puede eliminar y todo lo que sería notas se asigna con los zeta.
Nota Castellanos se fijan y así alumno internacional.
Bueno, lo mismo va a tener estos tres o cuatro parámetros.
Petter.
No cree que tenía dos nomás?
Creo que lo habíamos simplificado.
Revisemos a Y El País.
Entonces pasamos acá Australia.
Perfecto.
La edad 15.
Bueno, en realidad alumno 41 no coloqué mole, da lo mismo.
13 13 años.
Bien 13 15.
Instituto Nacional Perfecto.
Por qué no lo soporta?
Constructor?
No tenemos un constructor alumno internacional que pase el instituto o la institución, ni tampoco nada.
Aunque lo puedo implementar.
Pero bueno, es para variar un poco y listo.
Acá tenemos todos los datos se fijan y acá se aplica un poco el principio.
Polimorfismo diferente forma de implementar más o menos un mismo tipo de clase, en este caso persona
tanto alumno, alumno internacional con distintos parámetros, distinta forma.
Bien, profesor.
Lo mismo.
Creo que tenía también este Mathematica sacando la asignatura.
Zeth, por ejemplo.
Bueno, asignatura ta, apellido, nombre, edad, edad, por ejemplo, eso y listo.
Ahí tenemos el ejemplo con los constructores.
Ahora veamos el control de tipo.
Y acá me quiero detener un poco.
Pudiera implementar un método estático.
Bueno, la idea es imprimir un objeto del tipo persona de forma genérica.
Imprimir.
Alumno, alumno internacional.
Profesor, incluso persona.
Cualquier instancia de alguna clase que debe de persona cualquiera.
Bien podríamos tener dos formas de alternativa crear una clase con un método estático.
Imprimir o bien este método estático imprimir.
Lo podemos implementar en esta misma clase para simplificar, pero al final da lo mismo para el ejemplo.
Entonces public static void no retorna nada solamente a imprimir nada más imprimir y que imprime objetos
del tipo persona se fijan del tipo genérico.
Ven acá, importamos persona.
Voy a subir acá.
Bien podríamos también simplificar acá con el asterisco.
Todos vienen del mismo paquete.
Listo.
Y acá vamos a modificar porque tenemos ya algo.
Por ejemplo Bien, voy a cortar esto.
Lo vamos a modificar por persona.
Esto de quitarlo y quitarlo y quitar institución también país no?
Pero páis lo dejo como persona y esto lo quito.
Ya está bien.
Entonces primero nombre, apellido, es decir, nombre, apellido y todos los datos genérico.
Entonces es todo.
Acá lo dejamos para después.
Es todo acá.
Entonces acá podremos imprimir la edad.
Tu nyet, edá?
Entonces acá se imprimen todos los datos de la persona.
Vamos a colocar Koma edad dos, punto.
Acá el apellido.
Te vejan nombre como apellido coma eda perfecta.
Qué otro atributo tenemos más en común?
Creo que dirección el email, el email.
Get email acá.
Listo.
Acá tenemos todos los datos genérico de cualquier persona independiente del tipo vamos a ordenar bien.
Faltaría entonces acá aplicar filtro utilizando controles tipo instance off.
Entonces IFF vamos a preguntar
entonces si es una instancia de alumno.
Acá preguntamos lo primero.
Bueno, un show
institución dos punto.
Y acá imprimimos institución persona a punto.
Nyet.
Pero si se fijan no aparece forma directa, aparece guet institución on alumno en alumno, pero no hay
persona.
Por lo tanto, si acá lo escribo de forma directa, sin importar, sin que se auto genere, el cast
marca el error.
Guet institución
se fijan, no lo reconocen, pero ya vimos que podemos hacer en casa de alumno.
Entonces acá paréntesis alumno y acá paréntesis.
Y acá cerramos paréntesis.
Perfecto.
Ahí mostramos la institución Shout.
Nota Matemáticas
Geet.
Nota matemática.
Se fijan de nuevo el cast.
Cerramos acá y también abrimos acá.
El esto.
Persona punto G nota y acá lo hacemos forma automática con Elide.
Si están usando otro IDE y no lo hace remoto máticas, simplemente lo escriben de forma manual, pero
acá hitoria seleccionamos, bajamos enter y listo.
Lo hace solo.
Castellano.
Listo.
Ahí tenemos.
Fijan los datos de alumno y así van imprimiendo en qué faltarían los datos de alumno internacional?
Pero alumno internacional también es alumno.
Entonces podríamos anidar ese if dentro de TIFF.
No sé.
Por acá if.
Recuerden que el 1 internacional también hereda de alumno.
Entonces si persona estás of alumno internacional
país 2 punto
g país se fijan.
Y es el caso de alumno internacional, no de alumno, sino alumno internacional.
Porque país es atributo propio de esta clase.
Faltaría.
Nota idioma volvemos.
Incluso la podremos dejar acá.
No te idioma arriba del país porque todo, todo se fijan.
Matemática itor y castellano mate.
Idioma
listo.
Eso y esto le quitamos.
No sé si en alumno veamos si me faltó algo más.
Institución, las notas, no está todo, se fija toda la información.
Entonces podría mandar un separador solamente, por ejemplo shout
del alumno del tipo.
Y más abajo por acá.
Imprimiendo los datos del tiburón no internacional.
Perfecto.
Qué más faltaría acá
de versar o del tipo personal.
Eso.
Entonces, usando primero controles tipo en el método imprimir persona, es decir, acá solamente se
imprime un objeto de tipo persona si no lanza un error.
Primer control del tipo.
Segundo control de tipo usando instant off.
Entonces, si persona es instancia de alumno muestra la información de alumno.
Luego, si persona es tipo de alumno internacional muestra los datos de alumno internacional y así vamos
filtrando según el tipo geto y mostrando solamente la información de ese tipo.
Nada más.
Primero lo genérico hacia lo más específico.
Se fijan de lo genérico a lo más particular.
Alumno y alumno internacional.
Pero falta uno.
Falta profesor.
Entonces por acá tenemos acá,
claro, porque el profesor es hermano.
Podríamos ir hermano al mismo nivel que alumno.
Entonces es un IFF separado.
No es anidaba.
Llegamos.
Tenemos solamente los atributos de profesor Shout.
La asignatura
lo mismo usando el často.
Cerramos paréntesis.
Abrimos y el cast.
Profesor.
Llega un separador.
Es que también faltó Shout.
Imprimiendo los datos al tipo.
Alumno internacional.
Y listo.
Ahí sí que sí.
Quizás lo único que faltaría para que esté completo, completo, es colocar el email, pero al final
un detalle.
Pero bueno.
Alumno Punto Ceto por acá.
Alumnos int el email.
Colegio E.com:.
Bien, ahora sí, ahora tengo que mandar a imprimir, se fijan antes levantar, porque acá tenemos solamente
la instancia, pero por acá, por ejemplo imprimir.
Alumno
alumno internacional
imprimir.
Profesor A Si se fijan, cada uno por separado.
Incluso podríamos dar un separador, al final pellizqué mejor todia algo visual.
Nada más.
Por ejemplo, Hilitos.
Ahora vamos a levantar.
Clic derecho Rann.
Y veamos, acá por acá tamo al principio.
Acá está el primer separador imprimiendo datos en común de tipo persona nombre en tres apellido Guzmán.
Edad 13 el e-mail imprimiendo datos del tipo alumno institución nacional.
Las notas.
Imprimiendo los datos del el uno internacional acá en realidad debería estar abajo, claro, lo tenía,
pero lo puse acá abajo.
Entonces esto es lo de quitar.
Ahí sí.
Pero bueno, da lo mismo imprimiendo datos del tipo persona, nombre Piter, apellido Joselyn, edad,
el correo.
Luego tenemos los datos.
El tipo alumno Instituto Nacional, los promedio.
Esto se quita de acá imprimiendo los datos del tipo alumno internacional, el promedio, nota de idiomas,
El país, Australia.
Luego, imprimiendo los datos del tipo persona, nombre, luz y apellido, edad y mail, imprimiendo
los datos, el tipo profesor, matemáticas, los datos comunes y específicos del profesor.
Entonces, si volvemos a levantar, va un poco mejor, más ordenado a ese.
Entonces con control de tipo y con filtros con el if, el operador indas off.
Hoy podemos ir navegando según la instancia, según tipo y mostrando la información relevante de cada
uno más particular.
Nos vemos en la siguiente clase.