Lab 14 - Polimorfismo Con Interfaces

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

PROGRAMACIÓN ORIENTADA A OBJETOS

LABORATORIO N° 14

POLIMORFISMO CON INTERFACES

CODIGO DEL CURSO:

Alumno(s) Nota

Gabriel Cordova Begazo

Grupo
Ciclo II
Fecha de entrega

REDES Y COMUNICACIONES DE DATOS


PROGRAMA DE FORMACIÓN REGULAR
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 10 – POLIMORFISMO CON INTERFACES Página 1 de 6

I.- OBJETIVOS:
 Identificar las principales características de las interfaces en Java
 Implementar el polimorfismo en Java empleando interfaces

II.- SEGURIDAD:
Advertencia:
En este laboratorio está prohibida la manipulación del
hardware, conexiones eléctricas o de red; así como la ingestión
de alimentos o bebidas.

III.- FUNDAMENTO TEÓRICO:


 En algunos casos es posible crear clases Java que NO permitirán crear objetos, para ello la clase debe ser
creada como una clase abstracta
 Para crear una clase como abstracta se debe colocar la palabra reservada “abstract” al inicio de la
clase
 El polimorfismo permite crear variables que puedan comportarse de múltiples formas. Esto se consigue
referenciando con una misma variable a objetos de diferentes tipos.
 El polimorfismo se puede implementar de 2 formas
 Polimorfismo basado en la herencia con clases abstractas.
 Polimorfismo basado en interfaces.

IV.- NORMAS EMPLEADAS:


No aplica

V.- RECURSOS:
 En este laboratorio cada alumno trabajará con un equipo con Windows XP.
 Este equipo cuenta con JDK instalado, así como alguno de los IDE (Entorno de Desarrollo Integrado)
como NetBeans.

VI.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA:


 El desarrollo del laboratorio es individual.

VII.- PROCEDIMIENTO:
POLIMORFISMO BASADO EN INTERFACES
1. Crear un nuevo proyecto en java denominado: PolimorfismoInt
2. A continuación se muestra en forma gráfica la estructura de clases a crear:

Interface IAnimal
Clase abstracta Animal
Clase Perro
3. Crear una nueva clase INTERFACE denominada IAnimal con el siguiente contenido:

public interface IAnimal {


public void iMetodo1();
}

Nota: Esta interface será utilizada como la clase raíz de las clases descendientes: Animal, Perro.
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 10 – POLIMORFISMO CON INTERFACES Página 2 de 6

4. Indique en sus palabras la diferencia de usar una interface en lugar de una clase

La interfaz puede extender varias interfaces de una misma vez y no se puede usar con metodos
Solo puede definir metodos abstractos

5. Crear una nueva clase denominada Animal que implemente a la interface IAnimal con el siguiente contenido:
public class Animal implements IAnimal {
}

6. Indique el error que le esta mostrando. Explique porque se produce el error y como se solucionaria
El error se da porque no implementamos ningún método abstracto entonces la forma de
solucionarlo es usando el override o colocando alado del public un abstract

7. Modifique la clase Animal con el siguiente contenido:


public abstract class Animal implements IAnimal {
private int atr1;
private int atr2;
private int atr3;
public void Animal(){}
public abstract void getTipoAnimal();
public void Inicio(){
System.out.println("hola mundo");
}
}

8. Crear una nueva clase denominada Perro que herede de la clase abstracta Animal con el siguiente contenido:
public class Perro extends Animal{
public static void main(String args[]){
Perro p = new Perro();
}
}

9. Indique el error que le esta mostrando. Explique porque se produce el error y como se solucionaria
El error se produce por no implementar los métodos abstractos el cual se solucionaria
con un @arribe como nos indica el foco de la izquierda

10. Modifique la clase Perro con el siguiente contenido:

public class Perro extends Animal{


public static void main(String args[]){
Perro p = new Perro();
p.iMetodo1();
}
@Override
public void getTipoAnimal(){
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 10 – POLIMORFISMO CON INTERFACES Página 3 de 6

System.out.println("soy un perro");
}
@Override
public void iMetodo1(){
System.out.println("soy metodo1");
}
}

11. Ejecute la clase Perro y adjunte una captura de la ejecucion:

12. Modifique y agrege clases e interfaces tal como muestra la siguiente imagen:

Interface
IAnimal IAnimal2 Interface

iMetodo1() iMetodo2()

Clase abstracta Animal Animal()


getTipoAnimal()
La clase Gato debe
Inicio()

implementar las dos


interfaces (IAnimal,
Clases IAnimal2), además de su
método propio

Perro Gato (nombreGato())

nombreGato()
13. Adjunte el codigo de la interface IAnimal2 y la clase Gato:
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 10 – POLIMORFISMO CON INTERFACES Página 4 de 6
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 10 – POLIMORFISMO CON INTERFACES Página 5 de 6

14. Instancie la clase Gato y muestre a todos los posibles metodos a los cuales puede acceder:

EJERCICIOS
1. Proponga un programa ejemplo de polimorfismo usando interfaces y clases abstractas. Muestre el grafico generado
ademas del codigo generado.

IVecino IVecino2

Familia

Vecino1 Vecino2
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 10 – POLIMORFISMO CON INTERFACES Página 6 de 6

VIII.- OBSERVACIONES Y CONCLUSIONES

 Observamos como crear una clase interfaz

 Observamos la diferencia entre un java class y una clase interfaz

 El polimorfismo con interfaces es una colección de métodos no definidos

 El polimorfismo utiliza la vinculación tardía

 Se observo como vincular métodos

Conclusiones:
 Se concluye que el polimorfismo es la habilidad de tomar multiples formas en la
interfaz

 Concluimos que una clase abstracta es el intermedio de una clase y una interfaz

 Se concluye que el @override funciona para modificar una clase abstractas

 La interfaz no puede utilizar métodos


 Una clase java solo puede crear una clase abstracta

También podría gustarte