SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
POLIMORFISMO
"una interfaz, múltiples
métodos".
POLIMORFISMO
Indice
Definición y caracteristicas
Objetivos.
SOBRRESCRITURA-SOBRECARGA
Clases y métodos abstractos
INTERFACES (herencia múltiple)
Subclase,Clase abstracta e Interface
Interface vs. Clase Abstracta
Ejemplo: (4)Project Musica (Instrumentos).

20/02/2007

Polimorfismo

2
POLIMORFISMO
Definicion y características
Son dos mecanismos (up,downcasting)
relacionados que otorgan a la OOP una gran
potencia frente a otros paradigmas de
programación
Únicamente tienen sentido por la existencia
de la herencia
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.

20/02/2007

Polimorfismo

3
POLIMORFISMO
Definicion y características
Una variable referencia es polimórfica cuando
su tipo de declaración no coincide con el tipo del
objeto al que referencia:

Figura f1 = new Figura(“Estandar”, “Rojo”);

Figura f2 = new Circulo(“Verde”, 5.0);

20/02/2007

Polimorfismo

4
POLIMORFISMO
Definicion y características
El polimorfismo esta presente cuando se envia un
mensaje a un objeto del que no se sabe su tipo,
ejecutándose el método adecuado de acuerdo con su
tipo.
Enlace dinámico: Se elige el método a ejecutar en
tiempo de ejecución, en función de la clase del objeto;
Es la implementación del polimorfismo.

20/02/2007

Polimorfismo

5
POLIMORFISMO
Definicion y características
Moldes de objetos(castings):
Realizan conversiones de tipo, no modifican al objeto,
solo su tipo.
Upcasting : Interpretar un objeto de una clase derivada
como del mismo tipo que la clase base.
No hace falta especificarlo

Downcasting: Interpretar un objeto de una clase base
como del mismo tipo que una clase derivada suya.
Se especifica precediendo al objeto a convertir con el nuevo tipo
entre paréntesis.

20/02/2007

Polimorfismo

6
POLIMORFISMO
Definicion y características

Ejemplo upcasting polimorfismo
(1)Project Polimorfismo,Polimorfismo2
(Mamifero).

20/02/2007

Polimorfismo

7
POLIMORFISMO
Definición y características
Tras realizar una conexión polimorfa es frecuente la necesidad de
volver a recuperar el objeto original, para acceder a sus
operaciones propias.
Se trata de la operación inversa al polimorfismo(upcasting),
denominada downcasting.
Si el polimorfismo implica una generalización, el downcasting
implica una especialización.
Al contrario que el upcasting, el downcasting no puede realizarse
directamente mediante una conexión con una referencia de la clase
del objeto.

20/02/2007

Polimorfismo

8
POLIMORFISMO
Definición y características
Utilizar instanceof para determinar si el objeto es de la
clase esperada antes de realizar el casting.

La operación getClass () de Object devuelve un objeto
de la clase Class que permite obtener en tiempo de
ejecución gran cantidad de información de la clase a la
que pertenece el objeto. El atributo estático class de la
clase también devuelve una referencia a este objeto

20/02/2007

Polimorfismo

9
POLIMORFISMO
Objetivos

Objetivo: reutilizacion y flexibilidad.
Facilidad para adaptarse a cambios
¿Cómo se consigue?
Interfaces
Clases abstractas
Métodos polimórficos

Implementación de colecciones y métodos
genéricos.
20/02/2007

Polimorfismo

10
POLIMORFISMO
Objetivos
Permite código independiente del tipo.
Fácil de escribir y entender.

Al añadir nuevos tipos:
• No hay que reescribir código
• Programas extensibles

20/02/2007

Polimorfismo

11
POLIMORFISMO
Objetivos

ANIMAL
FELINO
LEON

20/02/2007

TIGRE

CANINO
GATO

Polimorfismo

LOBO

PERRO

12
POLIMORFISMO
Objetivos
EJEMPLO DE COLECCIÓN GENÉRICA
public class TestPolimorfismo{
public static void main(String[] args) {
Animal[] animales = new Animal[4];
animales[0] = new Lobo();
animales[1] = new Perro();
animales[2] = new Leon();
animales[3] = new Tigre();
for(int i=0; i<animales.length; i++) {
animales[i].dormir();
animales[i].comer();
}
}
}

20/02/2007

Polimorfismo

13
POLIMORFISMO
Objetivos
MATEMÁTICO

FIGURA
CUADRADO

20/02/2007

TRIANGULO

CIRCULO

Polimorfismo

14
POLIMORFISMO
Objetivos
EJEMPLO DE MÉTODO GENÉRICO
public class Matematico{
public double calcularArea(Figura param) {
return param.calcularArea();
}
}
public class TestPolimorfismo {
public static void main(String[] args)
{
Matematico m = new Matematico();
m.calcularArea(new Circulo());
m.calcularArea(new Triangulo());
}
}

20/02/2007

Polimorfismo

15
POLIMORFISMO
SOBREESCRITURA-SOBRECARGA
SOBREESCRITURA: La subclase reimplementa el
método heredado (cambian el comportamiento).
SOBRECARGA: Varias implementaciones del mismo
método con distintos parámetros (cambio de interfaz).
Muy habitual en constructores.
Es aquí donde realmente se aprecia los beneficios del polimorfismo.
Sobrecargando el constructor conseguimos dotar a la clase de
flexibilidad.
Pero siempre debe quedar claro que tras la conexión polimorfa
únicamente podemos acceder a las operaciones pertenecientes a la
clase asociada a la referencia. El resto de operaciones del objeto no
son accesibles a través de esta referencia

20/02/2007

Polimorfismo

16
POLIMORFISMO
SOBRRESCRITURA-SOBRECARGA
//Sobrecarga de constructores
class Box {
double width;
double height;
double depth;
//El siguiente es el constructor específico
Box(double w, double h, double d) {
width = w; height = h; depth = d;
}
Box () {
width = height = depth = -1
//-1 indica volumen no existente
}
//Cubo,entonces, por qué introducir 3 valores?
Box (double valor) {
width = height = depth = valor;
}
double volume() {
return width * height * depth;
}

20/02/2007

Polimorfismo

17
POLIMORFISMO
Clases y métodos abstractos
Clases abstractas: A menudo existen clases que
sirven para definir un tipo genérico pero que no
tiene sentido instanciar (crear objetos de ella).
Métodos abstractos: Un método abstracto
significa que tiene que ser sobrescrito. No está
implementado.
Una clase con uno o varios métodos abstractos
tiene que ser declarada abstracta.
No obstante una clase abstracta no tiene porque
tener métodos abstractos.
20/02/2007

Polimorfismo

18
POLIMORFISMO
INTERFACES (herencia múltiple)
Los interfaces en Java nos solucionan en parte la no
existencia de la herencia múltiple.
Los interfaces son un tipo de clase especial que no
implementa ninguno de sus métodos. Todos son
abstractos. Por tanto no se pueden instanciar.
De los interfaces también se hereda, aunque se Suele
decir implementa. Y se realiza mediante la keyword:
implements.
Si una clase que hereda de un interface, no implementa
todos los métodos de este, deberá ser definida como
abstracta.

20/02/2007

Polimorfismo

19
POLIMORFISMO
INTERFACES (herencia múltiple)
¿Para qué se utiliza?
Para permitir la herencia múltiple (ya que la herencia en
Java sólo permite heredar de una sola clase).
Definen un comportamiento (o funcionalidad) genérico,
ignorando los aspectos relacionados con su
implementación.
Las interfaces que implementa una clase se comportan
igual que las superclases en lo que respecta al uso del
polimorfismo.
20/02/2007

Polimorfismo

20
POLIMORFISMO
INTERFACES (herencia múltiple)
(3)Project HerenciaMultiple2 (Anfibio).

20/02/2007

Polimorfismo

21
POLIMORFISMO
Subclase,Clase abstracta e Interface
Subclase: Necesitemos hacer una especialización de la
superclase mediante sobreescritura o añadiendo nuevos métodos.

Clase abstracta: Queremos definir un grupo genérico de clases y
además tengamos algunos métodos implementados que reutilizar.

Interface: Queremos definir un grupo genérico de clases y no
tengamos métodos implementados que reutilizar. O cuando nos
veamos forzados por la falta de herencia múltiple en Java.

20/02/2007

Polimorfismo

22
POLIMORFISMO
Interface vs. Clase Abstracta
Un interface no puede implementar ningún método.
Un interface no forma parte de la jerarquía de clases.
Clases dispares pueden implementar el mismo interface.

Una clase puede implementar n interfaces pero solo una
clase.
El objetivo de un método abstracto es forzar una interfaz
(API) pero no una implementación.

20/02/2007

Polimorfismo

23
POLIMORFISMO
Interface vs. Clase Abstracta
Haremos un interface cuando queramos definir un
grupo genérico de clases y no tengamos métodos
implementados que reutilizar. O cuando nos
veamos forzados por la falta de herencia múltiple
en Java.

20/02/2007

Polimorfismo

24
POLIMORFISMO
Ejemplos de polimorfismo

(4)Project Musica (Instrumentos).

20/02/2007

Polimorfismo

25
DIAGRAMA DE CLASES: MUSICA

20/02/2007

Polimorfismo

26

Más contenido relacionado

La actualidad más candente

Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoAlvaro Enrique Ruano
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Javaricardomore94
 
Polimorfismo ppt
Polimorfismo  pptPolimorfismo  ppt
Polimorfismo pptivanvillar7
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismonestor_moren
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosMario Villaseñor
 
Mapa Mental de Java
Mapa Mental de JavaMapa Mental de Java
Mapa Mental de JavaMario578
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoAngel Vázquez Patiño
 
Inheritance and its types In Java
Inheritance and its types In JavaInheritance and its types In Java
Inheritance and its types In JavaMD SALEEM QAISAR
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosJosé Antonio Sandoval Acosta
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1Clara Patricia Avella Ibañez
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y ObjetosKudos S.A.S
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herenciajlmanmons
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre ObjetosEmilio Aviles Avila
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Javabackdoor
 

La actualidad más candente (20)

Programación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismoProgramación Orientada a Objetos - herencia y polimorfismo
Programación Orientada a Objetos - herencia y polimorfismo
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 
Python - object oriented
Python - object orientedPython - object oriented
Python - object oriented
 
Polimorfismo ppt
Polimorfismo  pptPolimorfismo  ppt
Polimorfismo ppt
 
Polimorfismo en Java
Polimorfismo en JavaPolimorfismo en Java
Polimorfismo en Java
 
Herencia y Polimorfismo
Herencia y PolimorfismoHerencia y Polimorfismo
Herencia y Polimorfismo
 
Herencia - Programación Orientada a Objetos
Herencia - Programación Orientada a ObjetosHerencia - Programación Orientada a Objetos
Herencia - Programación Orientada a Objetos
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Mapa Mental de Java
Mapa Mental de JavaMapa Mental de Java
Mapa Mental de Java
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Programación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismoProgramación 3: clases derivadas y polimorfismo
Programación 3: clases derivadas y polimorfismo
 
Inheritance and its types In Java
Inheritance and its types In JavaInheritance and its types In Java
Inheritance and its types In Java
 
Programacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetosProgramacion Orientada a Objetos - Unidad 2 clases y objetos
Programacion Orientada a Objetos - Unidad 2 clases y objetos
 
8b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 18b Curso de POO en java - paso de diagrama clases a java 1
8b Curso de POO en java - paso de diagrama clases a java 1
 
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a  Programación Orientada a Objetos (OOP): Clases y ObjetosIntroducción a  Programación Orientada a Objetos (OOP): Clases y Objetos
Introducción a Programación Orientada a Objetos (OOP): Clases y Objetos
 
Poo 3 herencia
Poo 3 herenciaPoo 3 herencia
Poo 3 herencia
 
Curso Java Inicial 5 Relaciones Entre Objetos
Curso Java Inicial   5 Relaciones Entre ObjetosCurso Java Inicial   5 Relaciones Entre Objetos
Curso Java Inicial 5 Relaciones Entre Objetos
 
Object Oriented Programming with Java
Object Oriented Programming with JavaObject Oriented Programming with Java
Object Oriented Programming with Java
 

Similar a Interfaz múltiples métodos

Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces
Curso Java Inicial   6 Polimorfismo, AbstraccióN E InterfacesCurso Java Inicial   6 Polimorfismo, AbstraccióN E Interfaces
Curso Java Inicial 6 Polimorfismo, AbstraccióN E InterfacesEmilio Aviles Avila
 
Investigacion v unidad
Investigacion v unidadInvestigacion v unidad
Investigacion v unidadElena Perz
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnetjhordy2000
 
3 Bases De La OrientacióN A Objetos
3  Bases De La OrientacióN A Objetos3  Bases De La OrientacióN A Objetos
3 Bases De La OrientacióN A ObjetosHectorMamani
 
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptxMecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptxjuan gonzalez
 
8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptxjuan gonzalez
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosJonathan Macías
 
Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Hack '
 
POO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdfPOO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdfNone
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E InterfacesNetwork Sens
 
Sesion2 Php Oo Y Mysql
Sesion2 Php Oo Y MysqlSesion2 Php Oo Y Mysql
Sesion2 Php Oo Y MysqlHugo Flores
 

Similar a Interfaz múltiples métodos (20)

JAVA- basico
JAVA- basicoJAVA- basico
JAVA- basico
 
Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces
Curso Java Inicial   6 Polimorfismo, AbstraccióN E InterfacesCurso Java Inicial   6 Polimorfismo, AbstraccióN E Interfaces
Curso Java Inicial 6 Polimorfismo, AbstraccióN E Interfaces
 
4 unidad polimorfismo
4 unidad polimorfismo4 unidad polimorfismo
4 unidad polimorfismo
 
Investigacion v unidad
Investigacion v unidadInvestigacion v unidad
Investigacion v unidad
 
Net1 oop vbnet
Net1 oop vbnetNet1 oop vbnet
Net1 oop vbnet
 
Polimorfism oo
Polimorfism ooPolimorfism oo
Polimorfism oo
 
Java OO - Tema 06 - Interfaces
Java OO - Tema 06 -  InterfacesJava OO - Tema 06 -  Interfaces
Java OO - Tema 06 - Interfaces
 
3 Bases De La OrientacióN A Objetos
3  Bases De La OrientacióN A Objetos3  Bases De La OrientacióN A Objetos
3 Bases De La OrientacióN A Objetos
 
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptxMecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
Mecanismos-de-abstraccion-en-Java PARA PROGRAMAR.pptx
 
8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx8 Mecanismos-de-abstraccion-en-Java.pptx
8 Mecanismos-de-abstraccion-en-Java.pptx
 
Programaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetosProgramaciom avanzada orientada a objetos
Programaciom avanzada orientada a objetos
 
Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]Java morld cap2 [CURSO JAVA]
Java morld cap2 [CURSO JAVA]
 
Aprendiendo objetos en c++
Aprendiendo objetos en c++Aprendiendo objetos en c++
Aprendiendo objetos en c++
 
Presentacion de clases en c#
Presentacion de clases en c#Presentacion de clases en c#
Presentacion de clases en c#
 
Guía polimorfismo
Guía polimorfismoGuía polimorfismo
Guía polimorfismo
 
Mapa conceptual
Mapa conceptual Mapa conceptual
Mapa conceptual
 
POO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdfPOO-3-Herencia-10-11.pdf
POO-3-Herencia-10-11.pdf
 
Poo 3-herencia-10-11
Poo 3-herencia-10-11Poo 3-herencia-10-11
Poo 3-herencia-10-11
 
09 Clases Abstractas E Interfaces
09   Clases Abstractas E Interfaces09   Clases Abstractas E Interfaces
09 Clases Abstractas E Interfaces
 
Sesion2 Php Oo Y Mysql
Sesion2 Php Oo Y MysqlSesion2 Php Oo Y Mysql
Sesion2 Php Oo Y Mysql
 

Último

Croquis de Hospital general (Ficticio) con señalizaciones de seguridad
Croquis de Hospital general (Ficticio) con señalizaciones de seguridadCroquis de Hospital general (Ficticio) con señalizaciones de seguridad
Croquis de Hospital general (Ficticio) con señalizaciones de seguridadratc070603hmcmrha7
 
Diseño y análisis de vigas doblemente reforzada
Diseño y análisis de vigas doblemente reforzadaDiseño y análisis de vigas doblemente reforzada
Diseño y análisis de vigas doblemente reforzadaJosAntonioFloresQuis
 
La arquitectura griega y su legado en la historia
La arquitectura griega y su legado en la historiaLa arquitectura griega y su legado en la historia
La arquitectura griega y su legado en la historiaCamilaIsabelaRodrigu
 
Arquitectura griega, obras antiguas. pdf
Arquitectura griega, obras antiguas. pdfArquitectura griega, obras antiguas. pdf
Arquitectura griega, obras antiguas. pdfduf110205
 
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptxDanielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptxaurorialfonzo6
 
Arquitectura antigua. Salazar Alejandra.pdf
Arquitectura antigua. Salazar Alejandra.pdfArquitectura antigua. Salazar Alejandra.pdf
Arquitectura antigua. Salazar Alejandra.pdfsalazar1611ale
 
presentación de historia; arquitectura renacentista
presentación de historia; arquitectura renacentistapresentación de historia; arquitectura renacentista
presentación de historia; arquitectura renacentista30898575
 
Anatomia.pfd29382819292829191929292929292929
Anatomia.pfd29382819292829191929292929292929Anatomia.pfd29382819292829191929292929292929
Anatomia.pfd29382819292829191929292929292929FiorellaLaura2
 
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)LeonardoDantasRivas
 
LANZAMIENTO, NUEVOS SET DE COCINA, PETROLEUM, VINTAGE, CARAMEL Y LAVANDA
LANZAMIENTO, NUEVOS SET DE COCINA, PETROLEUM, VINTAGE, CARAMEL Y LAVANDALANZAMIENTO, NUEVOS SET DE COCINA, PETROLEUM, VINTAGE, CARAMEL Y LAVANDA
LANZAMIENTO, NUEVOS SET DE COCINA, PETROLEUM, VINTAGE, CARAMEL Y LAVANDAdiawaraplast
 
Triptico de Sistemas anticaídas Arnes.pdf
Triptico de Sistemas anticaídas Arnes.pdfTriptico de Sistemas anticaídas Arnes.pdf
Triptico de Sistemas anticaídas Arnes.pdfMariaGabrielaSandova2
 
Portafolio de Diseño Gráfico por Giorgio B Huizinga
Portafolio de Diseño Gráfico por Giorgio B HuizingaPortafolio de Diseño Gráfico por Giorgio B Huizinga
Portafolio de Diseño Gráfico por Giorgio B Huizingagbhuizinga2000
 
contaminacion del suelo 9.pptx cobntaminacion suelo
contaminacion del suelo 9.pptx cobntaminacion suelocontaminacion del suelo 9.pptx cobntaminacion suelo
contaminacion del suelo 9.pptx cobntaminacion suelomabel perez
 
La Modernidad y Arquitectura Moderna - Rosibel Velásquez
La Modernidad y Arquitectura Moderna - Rosibel VelásquezLa Modernidad y Arquitectura Moderna - Rosibel Velásquez
La Modernidad y Arquitectura Moderna - Rosibel VelásquezRosibelVictoriaVelas
 
Sesión 02 Buenas practicas de manufactura.pptx
Sesión 02 Buenas practicas de manufactura.pptxSesión 02 Buenas practicas de manufactura.pptx
Sesión 02 Buenas practicas de manufactura.pptxMarcosAlvarezSalinas
 
FICHAS PARA LA PRIMERA SEMANA SALOME.doc
FICHAS PARA LA PRIMERA SEMANA SALOME.docFICHAS PARA LA PRIMERA SEMANA SALOME.doc
FICHAS PARA LA PRIMERA SEMANA SALOME.docMerlyBrisetTorneroLu
 
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdfMARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdfitssmalexa
 
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdfAndada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdfalguien92
 
Calendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdfCalendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdfAsol7
 
Dia mundial de la salud (1).pdf triptico
Dia mundial de la salud (1).pdf tripticoDia mundial de la salud (1).pdf triptico
Dia mundial de la salud (1).pdf tripticoThaisAymeeTacucheBen
 

Último (20)

Croquis de Hospital general (Ficticio) con señalizaciones de seguridad
Croquis de Hospital general (Ficticio) con señalizaciones de seguridadCroquis de Hospital general (Ficticio) con señalizaciones de seguridad
Croquis de Hospital general (Ficticio) con señalizaciones de seguridad
 
Diseño y análisis de vigas doblemente reforzada
Diseño y análisis de vigas doblemente reforzadaDiseño y análisis de vigas doblemente reforzada
Diseño y análisis de vigas doblemente reforzada
 
La arquitectura griega y su legado en la historia
La arquitectura griega y su legado en la historiaLa arquitectura griega y su legado en la historia
La arquitectura griega y su legado en la historia
 
Arquitectura griega, obras antiguas. pdf
Arquitectura griega, obras antiguas. pdfArquitectura griega, obras antiguas. pdf
Arquitectura griega, obras antiguas. pdf
 
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptxDanielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
Danielarora Martinez 31061614 ARQUITECTURA GRIEGA.pptx
 
Arquitectura antigua. Salazar Alejandra.pdf
Arquitectura antigua. Salazar Alejandra.pdfArquitectura antigua. Salazar Alejandra.pdf
Arquitectura antigua. Salazar Alejandra.pdf
 
presentación de historia; arquitectura renacentista
presentación de historia; arquitectura renacentistapresentación de historia; arquitectura renacentista
presentación de historia; arquitectura renacentista
 
Anatomia.pfd29382819292829191929292929292929
Anatomia.pfd29382819292829191929292929292929Anatomia.pfd29382819292829191929292929292929
Anatomia.pfd29382819292829191929292929292929
 
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
 
LANZAMIENTO, NUEVOS SET DE COCINA, PETROLEUM, VINTAGE, CARAMEL Y LAVANDA
LANZAMIENTO, NUEVOS SET DE COCINA, PETROLEUM, VINTAGE, CARAMEL Y LAVANDALANZAMIENTO, NUEVOS SET DE COCINA, PETROLEUM, VINTAGE, CARAMEL Y LAVANDA
LANZAMIENTO, NUEVOS SET DE COCINA, PETROLEUM, VINTAGE, CARAMEL Y LAVANDA
 
Triptico de Sistemas anticaídas Arnes.pdf
Triptico de Sistemas anticaídas Arnes.pdfTriptico de Sistemas anticaídas Arnes.pdf
Triptico de Sistemas anticaídas Arnes.pdf
 
Portafolio de Diseño Gráfico por Giorgio B Huizinga
Portafolio de Diseño Gráfico por Giorgio B HuizingaPortafolio de Diseño Gráfico por Giorgio B Huizinga
Portafolio de Diseño Gráfico por Giorgio B Huizinga
 
contaminacion del suelo 9.pptx cobntaminacion suelo
contaminacion del suelo 9.pptx cobntaminacion suelocontaminacion del suelo 9.pptx cobntaminacion suelo
contaminacion del suelo 9.pptx cobntaminacion suelo
 
La Modernidad y Arquitectura Moderna - Rosibel Velásquez
La Modernidad y Arquitectura Moderna - Rosibel VelásquezLa Modernidad y Arquitectura Moderna - Rosibel Velásquez
La Modernidad y Arquitectura Moderna - Rosibel Velásquez
 
Sesión 02 Buenas practicas de manufactura.pptx
Sesión 02 Buenas practicas de manufactura.pptxSesión 02 Buenas practicas de manufactura.pptx
Sesión 02 Buenas practicas de manufactura.pptx
 
FICHAS PARA LA PRIMERA SEMANA SALOME.doc
FICHAS PARA LA PRIMERA SEMANA SALOME.docFICHAS PARA LA PRIMERA SEMANA SALOME.doc
FICHAS PARA LA PRIMERA SEMANA SALOME.doc
 
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdfMARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
MARIA ZABALA HISTORIA DE LA ARQUITECTURA II, ARQUITECTURA RENACENTISTA.pdf
 
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdfAndada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
Andada_Pullally_Alicahue_2021_(Comprimido)_-_Nicolás_Dragaš.pdf
 
Calendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdfCalendario 2024 Santoral con fase lunar.pdf
Calendario 2024 Santoral con fase lunar.pdf
 
Dia mundial de la salud (1).pdf triptico
Dia mundial de la salud (1).pdf tripticoDia mundial de la salud (1).pdf triptico
Dia mundial de la salud (1).pdf triptico
 

Interfaz múltiples métodos

  • 2. POLIMORFISMO Indice Definición y caracteristicas Objetivos. SOBRRESCRITURA-SOBRECARGA Clases y métodos abstractos INTERFACES (herencia múltiple) Subclase,Clase abstracta e Interface Interface vs. Clase Abstracta Ejemplo: (4)Project Musica (Instrumentos). 20/02/2007 Polimorfismo 2
  • 3. POLIMORFISMO Definicion y características Son dos mecanismos (up,downcasting) relacionados que otorgan a la OOP una gran potencia frente a otros paradigmas de programación Únicamente tienen sentido por la existencia de la herencia 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. 20/02/2007 Polimorfismo 3
  • 4. POLIMORFISMO Definicion y características Una variable referencia es polimórfica cuando su tipo de declaración no coincide con el tipo del objeto al que referencia: Figura f1 = new Figura(“Estandar”, “Rojo”); Figura f2 = new Circulo(“Verde”, 5.0); 20/02/2007 Polimorfismo 4
  • 5. POLIMORFISMO Definicion y características El polimorfismo esta presente cuando se envia un mensaje a un objeto del que no se sabe su tipo, ejecutándose el método adecuado de acuerdo con su tipo. Enlace dinámico: Se elige el método a ejecutar en tiempo de ejecución, en función de la clase del objeto; Es la implementación del polimorfismo. 20/02/2007 Polimorfismo 5
  • 6. POLIMORFISMO Definicion y características Moldes de objetos(castings): Realizan conversiones de tipo, no modifican al objeto, solo su tipo. Upcasting : Interpretar un objeto de una clase derivada como del mismo tipo que la clase base. No hace falta especificarlo Downcasting: Interpretar un objeto de una clase base como del mismo tipo que una clase derivada suya. Se especifica precediendo al objeto a convertir con el nuevo tipo entre paréntesis. 20/02/2007 Polimorfismo 6
  • 7. POLIMORFISMO Definicion y características Ejemplo upcasting polimorfismo (1)Project Polimorfismo,Polimorfismo2 (Mamifero). 20/02/2007 Polimorfismo 7
  • 8. POLIMORFISMO Definición y características Tras realizar una conexión polimorfa es frecuente la necesidad de volver a recuperar el objeto original, para acceder a sus operaciones propias. Se trata de la operación inversa al polimorfismo(upcasting), denominada downcasting. Si el polimorfismo implica una generalización, el downcasting implica una especialización. Al contrario que el upcasting, el downcasting no puede realizarse directamente mediante una conexión con una referencia de la clase del objeto. 20/02/2007 Polimorfismo 8
  • 9. POLIMORFISMO Definición y características Utilizar instanceof para determinar si el objeto es de la clase esperada antes de realizar el casting. La operación getClass () de Object devuelve un objeto de la clase Class que permite obtener en tiempo de ejecución gran cantidad de información de la clase a la que pertenece el objeto. El atributo estático class de la clase también devuelve una referencia a este objeto 20/02/2007 Polimorfismo 9
  • 10. POLIMORFISMO Objetivos Objetivo: reutilizacion y flexibilidad. Facilidad para adaptarse a cambios ¿Cómo se consigue? Interfaces Clases abstractas Métodos polimórficos Implementación de colecciones y métodos genéricos. 20/02/2007 Polimorfismo 10
  • 11. POLIMORFISMO Objetivos Permite código independiente del tipo. Fácil de escribir y entender. Al añadir nuevos tipos: • No hay que reescribir código • Programas extensibles 20/02/2007 Polimorfismo 11
  • 13. POLIMORFISMO Objetivos EJEMPLO DE COLECCIÓN GENÉRICA public class TestPolimorfismo{ public static void main(String[] args) { Animal[] animales = new Animal[4]; animales[0] = new Lobo(); animales[1] = new Perro(); animales[2] = new Leon(); animales[3] = new Tigre(); for(int i=0; i<animales.length; i++) { animales[i].dormir(); animales[i].comer(); } } } 20/02/2007 Polimorfismo 13
  • 15. POLIMORFISMO Objetivos EJEMPLO DE MÉTODO GENÉRICO public class Matematico{ public double calcularArea(Figura param) { return param.calcularArea(); } } public class TestPolimorfismo { public static void main(String[] args) { Matematico m = new Matematico(); m.calcularArea(new Circulo()); m.calcularArea(new Triangulo()); } } 20/02/2007 Polimorfismo 15
  • 16. POLIMORFISMO SOBREESCRITURA-SOBRECARGA SOBREESCRITURA: La subclase reimplementa el método heredado (cambian el comportamiento). SOBRECARGA: Varias implementaciones del mismo método con distintos parámetros (cambio de interfaz). Muy habitual en constructores. Es aquí donde realmente se aprecia los beneficios del polimorfismo. Sobrecargando el constructor conseguimos dotar a la clase de flexibilidad. Pero siempre debe quedar claro que tras la conexión polimorfa únicamente podemos acceder a las operaciones pertenecientes a la clase asociada a la referencia. El resto de operaciones del objeto no son accesibles a través de esta referencia 20/02/2007 Polimorfismo 16
  • 17. POLIMORFISMO SOBRRESCRITURA-SOBRECARGA //Sobrecarga de constructores class Box { double width; double height; double depth; //El siguiente es el constructor específico Box(double w, double h, double d) { width = w; height = h; depth = d; } Box () { width = height = depth = -1 //-1 indica volumen no existente } //Cubo,entonces, por qué introducir 3 valores? Box (double valor) { width = height = depth = valor; } double volume() { return width * height * depth; } 20/02/2007 Polimorfismo 17
  • 18. POLIMORFISMO Clases y métodos abstractos Clases abstractas: A menudo existen clases que sirven para definir un tipo genérico pero que no tiene sentido instanciar (crear objetos de ella). Métodos abstractos: Un método abstracto significa que tiene que ser sobrescrito. No está implementado. Una clase con uno o varios métodos abstractos tiene que ser declarada abstracta. No obstante una clase abstracta no tiene porque tener métodos abstractos. 20/02/2007 Polimorfismo 18
  • 19. POLIMORFISMO INTERFACES (herencia múltiple) Los interfaces en Java nos solucionan en parte la no existencia de la herencia múltiple. Los interfaces son un tipo de clase especial que no implementa ninguno de sus métodos. Todos son abstractos. Por tanto no se pueden instanciar. De los interfaces también se hereda, aunque se Suele decir implementa. Y se realiza mediante la keyword: implements. Si una clase que hereda de un interface, no implementa todos los métodos de este, deberá ser definida como abstracta. 20/02/2007 Polimorfismo 19
  • 20. POLIMORFISMO INTERFACES (herencia múltiple) ¿Para qué se utiliza? Para permitir la herencia múltiple (ya que la herencia en Java sólo permite heredar de una sola clase). Definen un comportamiento (o funcionalidad) genérico, ignorando los aspectos relacionados con su implementación. Las interfaces que implementa una clase se comportan igual que las superclases en lo que respecta al uso del polimorfismo. 20/02/2007 Polimorfismo 20
  • 21. POLIMORFISMO INTERFACES (herencia múltiple) (3)Project HerenciaMultiple2 (Anfibio). 20/02/2007 Polimorfismo 21
  • 22. POLIMORFISMO Subclase,Clase abstracta e Interface Subclase: Necesitemos hacer una especialización de la superclase mediante sobreescritura o añadiendo nuevos métodos. Clase abstracta: Queremos definir un grupo genérico de clases y además tengamos algunos métodos implementados que reutilizar. Interface: Queremos definir un grupo genérico de clases y no tengamos métodos implementados que reutilizar. O cuando nos veamos forzados por la falta de herencia múltiple en Java. 20/02/2007 Polimorfismo 22
  • 23. POLIMORFISMO Interface vs. Clase Abstracta Un interface no puede implementar ningún método. Un interface no forma parte de la jerarquía de clases. Clases dispares pueden implementar el mismo interface. Una clase puede implementar n interfaces pero solo una clase. El objetivo de un método abstracto es forzar una interfaz (API) pero no una implementación. 20/02/2007 Polimorfismo 23
  • 24. POLIMORFISMO Interface vs. Clase Abstracta Haremos un interface cuando queramos definir un grupo genérico de clases y no tengamos métodos implementados que reutilizar. O cuando nos veamos forzados por la falta de herencia múltiple en Java. 20/02/2007 Polimorfismo 24
  • 25. POLIMORFISMO Ejemplos de polimorfismo (4)Project Musica (Instrumentos). 20/02/2007 Polimorfismo 25
  • 26. DIAGRAMA DE CLASES: MUSICA 20/02/2007 Polimorfismo 26