Cuarta sesion herencia y polimorfismo-explicacion anibal

32
Cuarta Sesion Revisión del quiz Revisión del Primer parcial Métodos y Sobrecarga de Métodos Herencia y Polimorfismo Sitio de Internet Recomendado.. http://www.aprenderaprogramar.com/

description

guia de la tutotia donde trabajamos, los metodos, sobre carga de metdos, herencia y olimorfismo

Transcript of Cuarta sesion herencia y polimorfismo-explicacion anibal

Page 1: Cuarta sesion herencia y polimorfismo-explicacion anibal

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

UNA POSIBLE SOLUCION AL PRIMER QUIZ

Page 3: Cuarta sesion herencia y polimorfismo-explicacion anibal

UNA POSIBLE SOLUCION AL PRIMER PARCIAL

Page 4: Cuarta sesion herencia y polimorfismo-explicacion anibal

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

ejemplo

public void cambiarTamano(int tamano, String nombre, float patron){

}

Page 6: Cuarta sesion herencia y polimorfismo-explicacion anibal

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

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

Un ejemplo mas

Page 9: Cuarta sesion herencia y polimorfismo-explicacion anibal

Herencia en Java

Page 10: Cuarta sesion herencia y polimorfismo-explicacion anibal

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

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

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

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

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

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

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
Page 18: Cuarta sesion herencia y polimorfismo-explicacion anibal

DISEÑO GRAFICO - Herencia

Super Clase

Sub-clase

Page 19: Cuarta sesion herencia y polimorfismo-explicacion anibal
Page 20: Cuarta sesion herencia y polimorfismo-explicacion anibal
Page 21: Cuarta sesion herencia y polimorfismo-explicacion anibal

POLIMORFISMO

Hasta Aquí el tema de Herencia

Ahora Veamos que es …….

Page 22: Cuarta sesion herencia y polimorfismo-explicacion anibal

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

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

Ahora con el mismo ejemplo tratamos el tema de

POLIMORFISMO

Array polimorfico oArray Super Calse

Page 25: Cuarta sesion herencia y polimorfismo-explicacion anibal

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

Una opcion mas dentro del polimorfismo

Page 27: Cuarta sesion herencia y polimorfismo-explicacion anibal
Page 28: Cuarta sesion herencia y polimorfismo-explicacion anibal

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

GENERA UN MENSAJE DE ERROR AL CAMBIAR EL MODIFICADOR DE ACCESO EN LA APLICACION

Page 30: Cuarta sesion herencia y polimorfismo-explicacion anibal

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

Chao ….. Gracias por la Atención

Page 32: Cuarta sesion herencia y polimorfismo-explicacion anibal

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