Lab 11 - Polimorfismo Con Interfaces

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

PROGRAMACIÓN ORIENTADA A OBJETOS

LABORATORIO N° 11

POLIMORFISMO CON INTERFACES

CODIGO DEL CURSO:

Alumno(s) Nota

Juan Diego Lázaro Mayta

Grupo B
Ciclo II
Fecha de entrega 14/06/20

REDES Y COMUNICACIONES DE DATOS


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

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 Eclipse o 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 11 – POLIMORFISMO CON INTERFACES Página 2 de 5

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

Una interfaz solo contiene un conjunto de métodos que deben implementar todas las clases que derivan de ella.
Las interfaces no contienen implementación de los métodos, tan solo la declaración de los mismo.

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 está mostrando. Explique porque se produce el error y como se solucionaría

Para que la clase Animal pueda implementar métodos a la clase IAnimal, esta debe ser
abstracta

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 solucionaría

Para que la clase Perro para que pueda heredar métodos a la clase Animal, esta debe
ser abstracta, además debemos usar el @override para sobre escribir los métodos de la
clase que ha heredado.

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();
}
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 11 – POLIMORFISMO CON INTERFACES Página 3 de 5

@Override
public void getTipoAnimal(){
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 ejecución:

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

Interface
IAnimal IAnimal2 Interface

iMetodo1() iMetodo2()

Clase abstracta Animal Animal()


getTipoAnimal()
Inicio()
La clase Gato debe
implementar las dos interfaces
(IAnimal, IAnimal2), además
Clases
de su método propio
(nombreGato())
Perro Gato
nombreGato()
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 11 – POLIMORFISMO CON INTERFACES Página 4 de 5

13. Adjunte el código de la interface IAnimal2 y la clase Gato:

14. Instancie la clase Gato y muestre a todos los posibles métodos a los cuales puede acceder:
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 11 – POLIMORFISMO CON INTERFACES Página 5 de 5

EJERCICIOS
1. Proponga un programa ejemplo de polimorfismo usando interfaces y clases abstractas. Muestre el grafico generado
además del código generado.
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 11 – POLIMORFISMO CON INTERFACES Página 6 de 5
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 11 – POLIMORFISMO CON INTERFACES Página 7 de 5
Nro. DD-106
PROGRAMACION ORIENTADA A OBJETOS
LAB 11 – POLIMORFISMO CON INTERFACES Página 8 de 5

Interface
Imprimir

Cliente Administrador

Imprimirdatos() Imprimirdatos()

VIII.- OBSERVACIONES Y CONCLUSIONES

 Al momento de implementar los métodos en el archivo de interfaces, debemos


implementarla o usar el @Overrider para poder usar esos métodos de lo
contrario tendremos errores.
 Si tenemos más de dos archivos que implementen una clase, debemos usar la
coma (,) para para añadirla a la clase.
 Permiten declarar constantes que van a estar disponibles para todas las clases
que queramos (implementando esa interfaz)

También podría gustarte