cuarta sesion herencia y polimorfismo-explicacion anibal
DESCRIPTION
guia de la tutotia donde trabajamos, los metodos, sobre carga de metdos, herencia y olimorfismoTRANSCRIPT
![Page 1: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/1.jpg)
Cuarta SesionRevisión del quiz
Revisión del Primer parcialMétodos y Sobrecarga de
MétodosHerencia y Polimorfismo
Sitio de Internet Recomendado..
http://www.aprenderaprogramar.com/
![Page 2: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/2.jpg)
UNA POSIBLE SOLUCION AL PRIMER QUIZ
![Page 3: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/3.jpg)
UNA POSIBLE SOLUCION AL PRIMER PARCIAL
![Page 4: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/4.jpg)
MÉTODOSLos métodos son todos aquellos bloques de
código que se ocupan de manejar los datos de la clase.
(Sintaxis)
acceso tipo NombreMetodo(TipoArg1 arguento1, TipoArg2 arguento2 ...)
{ // Aquí se codifica lo que tiene que hacer el
método}
![Page 5: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/5.jpg)
ejemplo
public void cambiarTamano(int tamano, String nombre, float patron){
}
![Page 6: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/6.jpg)
Sobrecarga de métodos
La sobrecarga de métodos consiste en poner varios métodos con el mismo nombre en la misma clase, pero siempre que su lista de argumentos sea distinta.
siempre que su lista de argumentos sea distinta, es decir, no puede haber dos métodos que se llamen igual con la misma lista de argumentos, aunque devuelvan datos de distinto tipo. El compilador sabría a cuál de todas las sobrecargas nos referimos por los argumentos que se le pasen en la llamada, pero no sería capaz de determinar cuál de ellas debe ejecutar si tienen la misma lista de argumentos.
![Page 7: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/7.jpg)
Ejemplos public void cambiarTamano(int tamano, String
nombre){
}
public int cambiarTamano(int tamano, float patron){
}
public void cambiarTamano(float patron, String nombre) throws IOException{
}
![Page 8: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/8.jpg)
Un ejemplo mas
![Page 9: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/9.jpg)
Herencia en Java
![Page 10: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/10.jpg)
ACERAMIENTO
La idea de la herencia es permitir la creación de nuevas clases basadas en clases existentes.Cuando heredamos de una clase existente, reusamos (o heredamos) métodos y campos, y agregamos nuevos campos y métodos para cumplir con la situación nueva.Cada vez que encontremos la relación "es-un" entre dos clases, estamos ante la presencia de herencia.
La clase ya existente es llamada superclases, o clase base, o clase padre.La clase nueva es llamada subclase, clase derivada, o clase hija.
A través de la herencia podemos agregar nuevos campos, y podemos agregar o sobre montar métodos (override). Sobre montar un método es redefinirlo en la case heredada.
![Page 11: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/11.jpg)
11
Herencia en Java
Java permite definir una clase como subclase de una clase padre.class clase_hija extends
clase_padre{..........}
Clase Padre
Clase Hija
![Page 12: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/12.jpg)
12
Ejemplo de Herencia
+set_values()
#width#height
Polygon
+area()
Rectangle
+area()
Triangle
class Polygon { protected int width, height;
public void set_values (int a, int b) { width=a; height=b; } }
class Rectangle extends Polygon { public int area() { return (width * height); } }
class Triangle extends Polygon { public int area() { return (width * height / 2); }}
![Page 13: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/13.jpg)
Creamos un proyecto package herencia1;
public class animal {
public void sonidos(){}
public void come(){}
public void duerme(){}
public void modovida(){• }
}
En este caso lo llameré “herencia”
Aquí creamos una serie de metodos que nos va a ayudar dentro del programa
![Page 14: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/14.jpg)
Creamos una clase llamado Felino
package herencia1;
public class Felinos extends animal{
}
Esta clase “recibira” datos de la clase animal… a esto se le llamaHERENCIA
Clase principal o Super Clase
Palabra reservada
Sub Clase
![Page 15: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/15.jpg)
Creamos una clase llamada .. “Canes”
package herencia1;
public class canes extends animal {
public void modovida(){
System.out.println("vivimos en manada");
}}
Aquí aplicamos un OVERRIDE
![Page 16: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/16.jpg)
Clase llamada “Gato” package herencia1;
public class Gato extends Felinos{
public void sonidos(){
System.out.println("miau miau miau");
} }
Aquí anulamos el Metodo sonidos que Heredamos de la clase animal y lo cambiamosSOBRESCRIBIMOS
![Page 17: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/17.jpg)
![Page 18: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/18.jpg)
DISEÑO GRAFICO - Herencia
Super Clase
Sub-clase
![Page 19: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/19.jpg)
![Page 20: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/20.jpg)
![Page 21: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/21.jpg)
POLIMORFISMO
Hasta Aquí el tema de Herencia
Ahora Veamos que es …….
![Page 22: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/22.jpg)
POLOMORFISMO
El sentido del polimorfismo (up-casting) es realizar una generalización, olvidar los detalles concretos de uno o varios objetos de distintas clases y buscar un punto común a todos ellos en un ancestro.
Una variable referencia es polimórfica cuando su tipo de declaración no coincide con el tipo del objeto al que referencia:
![Page 23: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/23.jpg)
E.T.S de Ingenieros de Telecomunicación - UPNA 22/11/2005 .23
POLIMORFISMODefinicion y características
El polimorfismo esta presente cuando se envia un mensaje a un objeto del que no se sabe su tipo, ejecutánodse el metodo adecuado de acuerdo con su tipo.
Enlace dinamico: Se elige el metodo a ejecutar en tiempo de ejecucion, en funcion de la clase del objeto; Es la implementacion del polimorfismo.
![Page 24: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/24.jpg)
Ahora con el mismo ejemplo tratamos el tema de
POLIMORFISMO
Array polimorfico oArray Super Calse
![Page 25: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/25.jpg)
AHORA OTRA MANERA DE TRABAJAR EL POLIMORFISMO EN JAVA
Aquí vemosComo se crea Un metodo conArgumentos de La super claseY desde alli Se pueden Llamar los Metodos De las claseHijas osubclases
![Page 26: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/26.jpg)
Una opcion mas dentro del polimorfismo
![Page 27: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/27.jpg)
![Page 28: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/28.jpg)
Modificadores de AccesoCuando el modificador deAcceso cambia a PRIVATENinguna clase podra verloNi utilizarlo
Tampoco se puede evitar oSobre escribir OVERRIDE
![Page 29: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/29.jpg)
GENERA UN MENSAJE DE ERROR AL CAMBIAR EL MODIFICADOR DE ACCESO EN LA APLICACION
![Page 30: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/30.jpg)
Modificadores de Acceso
Cuando el modificador deAcceso cambia a PROTECTEDPermite a las clases hijas verloy utilizar el método
Se recomienda utilizarEste modificador de accesoEn los proyectos dondeSe aplique la HERENCIA
![Page 31: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/31.jpg)
Chao ….. Gracias por la Atención
![Page 32: Cuarta sesion herencia y polimorfismo-explicacion anibal](https://reader033.vdocuments.net/reader033/viewer/2022052904/55831f83d8b42a3c658b4e2b/html5/thumbnails/32.jpg)
OVERRAID Significa sobre escribir…… Java entre otras cosas ayuda ha
reducir el código, cuando se crea una clase que hereda de otra clase, esta hereda todos sus métodos, propiedades y atributos
cuando hacemos override significa que estamos sobre escribiendo un método de la clase padre, ya sea para mejorar el método o para que se acople a tu clase hija
un ejemplo muy simple(demasiado simple) es cuando la clase padre prepara galletas, pero tu creas una clase hijo que quieres que prepare galletas de chispas de chocolate, la clase padre solo sabe hacer la masa, darles forma y meterlas al horno pero no sabe ponerles chispas de chocolate, así que sobreescribimos (override) el método hacer galletas para que ADEMAS de preparar la masa y darles forma les ponga chispas de chocolate.
volver