Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interfaces
En java no existe la herencia múltiple o a su vez, pudiendo heredar una sola clase, sin embargo
podemos simular herencia múltiple mediante interface.
Una interface es una clase completamente abstracta; es decir todos sus métodos tienen que ser
abstractos.
En la práctica las interfaces son definidas como un tipo de contrato entre las clases concretas es
decir que, cuando creamos una interfaz, lo que se hace es definir lo que la clase q la implemente
podrá hacer, pero no se indica la forma en que lo hará.
Explícitamente las interfaces simulan la herencia múltiple ya que una clase puede implementar
cualquier número de interfaces, además las interfaces pueden heredar uno o más números de
interfaces mediante la palabra reservada “extends”. En java se usa la palabra reservada “implement”
para indicar que se está implementando una interface.
1. Todos los métodos de una interfaz son explícitamente “public abstracts”, no es necesario
especificarlo en la declaración del mismo.
2. Todas las variables y atributos de una interfaz son implícitamente constantes (public static
final), no es necesario especificarlo en la declaración de la misma.
3. Una interfaz puede heredar de una o más interfaces.
4. Una interfaz no puede heredar de otro elemento que no sea una interface.
5. Un interfaz no puede implementar otra interfaz.
6. Una interfaz debe ser declarada con la palabra clave “interface”
7. Los tipos de las interfaces pueden ser utilizados polimórficamente
8. Una interfaz puede ser public o package (valor por defecto).
9. Los métodos toman como ámbito el que contiene la interfaz.
Su uso está ligado al concepto de herencia y cumple el mismo principio que aplicamos al usar clases
abstractas, lo que se busca es establecer un mecanismo donde podamos compartir características
comunes entre clases diferentes.
B. DESCRIPCIÓN:
Éste laboratorio está formado por 1 ejercicio:
1. Diseñe un algoritmo que utilice interfaces relacionadas a su proyecto
C. OBJETIVO:
Conocer el funcionamiento correcto de las interfaces y en qué circunstancias poder utilizarlas
D. PROYECTO:
Analizar el funcionamiento de las interfaces de forma correcta.
E. TAREAS A REALIZAR:
Realizar los algoritmos solicitados.
F. ANÁLISIS:
ANÁLISIS DE DATOS:
InterfaceAuto
InterfaceAireAcondicionado
class AireAcondicionado
class Calefaccion
class RadiadorAire
class Ventilador
ANÁLISIS DE FUNCIONES:
InterfaceAuto
public tipo();
public alimentacion();
public color();
InterfaceAireAcondicionado
public material();
public implementacion();
class AireAcondicionado
public setClase();
public getClase();
public tipo();
public alimentacion();
public color();
public material();
public implementacion();
class Calefaccion
public setTemperatura();
public getTemperatura();
public tipo();
public alimentacion();
public color();
class RadiadorAire
public getForma();
public setForma();
class Ventilador
public setDensidad();
public getDensidad();
G. DISEÑO:
DISEÑO LÓGICO:
InterfaceAuto
+ tipo ()
+ alimentacion ()
+ color ()
Calefaccion
- temperatura :
+ setTemperatura ()
+ getTemperatura ()
AireAcondicionado + tipo ()
InterfaceAireAcondicionado + alimentacion ()
- clase :
+ color ()
+ setClase ()
+ material () + getClase ()
+ implementacion () + tipo ()
+ alimentacion ()
+ color () Ventilador
+ material ()
- densidadAire :
+ implementacion ()
+ setDensidad ()
RadiadorAire
+ getDensidad ()
- forma :
+ getForma ()
+ setForma ()
DISEÑO FÍSICO:
InterfaceAuto
+ tipo () : void
+ alimentacion () : void
+ color () : void
Calefaccion
- temperatura : double
+ setTemperatura () : void
+ getTemperatura () : double
AireAcondicionado + tipo () : void
InterfaceAireAcondicionado + alimentacion () : void
- clase : String
+ color () : void
+ setClase () : void
+ material () : void + getClase () : String
+ implementacion () : void + tipo () : void
+ alimentacion () : void
+ color () : void
+ material () : void
+ implementacion () : void Ventilador
RadiadorAire - densidadAire : double
- forma : String + setDensidad () : void
+ getForma () : String + getDensidad () : double
+ setForma () : void
H. IMPLEMENTACIÓN:
/*
*/
package lab44_interfaceproyectoo;
/*
* @author Ronny Peña
*/
import java.util.Scanner;
interface InterfaceAuto{
public void tipo();
public void alimentacion();
public void color();
}
interface InterfaceAireAcondicionado{
public void material (String mat);
public void implementacion(String forma,String clase);
}
class AireAcondicionado implements InterfaceAuto, InterfaceAireAcondicionado{
private String clase;
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner lee=new Scanner(System.in);
int op;
do{
System.out.println("\n\t\tAIRE ACONDICIONADO");
Procesos misProcesos=new Procesos();
misProcesos.iniciar();
System.out.println("\n\t¿desea reingresar los datos? (SI=1 ó NO=2)");
op=lee.nextInt();
if(op>=2){
System.out.println("ADIOS REGRESA PRONTO");
}
}while(op==1);
}
}
class Procesos{
public void iniciar(){
Scanner sc=new Scanner (System.in);
double temp;
String mat,clase;
System.out.println("Ingrese la temperatura generada por la calefaccion del vehiculo");
temp=sc.nextDouble();
Calefaccion ObjetoCalefaccion=new Calefaccion();
ObjetoCalefaccion.setTemperatura(temp);
ObjetoCalefaccion.tipo();
ObjetoCalefaccion.alimentacion();
ObjetoCalefaccion.color();
System.out.println();
J. Reporte
alimentacion();
color();
material();
implementacion();
setClase();
getClase();
tipo();
alimentacion();
color();
material();
implementacion();
setTemperatura();
getTemperatura();
tipo();
alimentacion();
color();
getForma();
setForma();
setDensidad();
getDensidad();
CALIFICACIÓN
K. RESULTADOS Y CONCLUSIONES:
M. REFERENCIAS BIBLIOGRÁFICAS:
[online]: http://www.espe.edu.ec
Tema: Interfaces Proyecto