Está en la página 1de 8

DEPARTAMENTO DE ENERGÍA Y MECÁNICA

CARRERA DE INGENIERÍA AUTOMOTRIZ

INFORME DE LABORATORIO No. 27

ASIGNATURA: CÓDIGO: NRC: NIVEL: SEMANA CLASE: DURACIÓN:


PROGRAMACION II COMP15083 2099 II X 6 HORAS
DEPARTAMENTO: CARRERA: ÁREA DEL CONOCIMIENTO: TEMA:
ENERGÍA Y MECÁNICA INGENIERÍA PROGRAMACIÓN INTERFACES PROYECTO
AUTOMOTRIZ
DOCENTE: ALUMNO: FECHA REALIZACIÓN: EJE DE FORMACIÓN:
ING. LUIS ALBERTO GUERRA PEÑA OBACO RONNY 20-JUNIO-2016 PROFESIONAL
CRUZ Msc ANTONIO FECHA DE ENTREGA:
27-JUNIO-2016

A. FUNDAMENTACIÓN: INTERFACES PROYECTO

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.

Características de las interfaces

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.

¿Cuándo utilizar un 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

private clase String;

class Calefaccion

private temperatura double;

class RadiadorAire

private forma String;

class Ventilador

private densidadAire double;

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;

public void setClase(String clase){


this.clase =clase;
}
public String getClase(){
return clase;
}
public void tipo(){
System.out.println("Los sistemas de Aire Acondicionado de clase: "+clase+"\tson de un
Sedan");
}
public void alimentacion(){
System.out.println("Los sistemas de Aire Acondicionado de clase: "+clase+"\tson de un
auto de alimentacion GasOil");
}
public void color(){
System.out.println("Los sistemas de Aire Acondicionado de clase: "+clase+"\tson de color
plata");
}
public void material(String mat){
System.out.println("Los sistemas de Aire Acondicionado de clase: "+clase+"\tson de un
material de: "+mat);
}
public void implementacion(String mat,String clase){
System.out.println("Los sistemas de Aire Acondicionado de clase: "+clase+" y de material
de: "+mat+"\t se estan implementando al vehículo");
}
}

class Calefaccion implements InterfaceAuto{


private double temperatura;

public void setTemperatura(double temperatura){


this.temperatura=temperatura;
}
public double getTemperatura(){
return temperatura;
}
public void tipo(){
System.out.println("Los sistemas con temperatura de:\t"+temperatura+" °C\t son de un
auto Pick_UP");
}
public void alimentacion(){
System.out.println("Los sistemas con temperatura de:\t"+temperatura+" °C\t son de un
auto de alimentacion Diesel");
}
public void color(){
System.out.println("Los sistemas con temperatura de:\t"+temperatura+" °C\t son de color
azul o rojo dependiendo este caliente o frio");
}
}

class RadiadorAire extends AireAcondicionado{


private String forma;

public String getForma(){


return forma;
}
public void setForma(String forma){
this.forma=forma;
}
}

class Ventilador extends Calefaccion{


private double densidadAire;

public double getDensidad(){


return densidadAire;
}
public void setTamanio(double densidadAire){
this.densidadAire=densidadAire;
}
}
public class Lab44_INterfacePROYECTOO {

/**
* @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();

AireAcondicionado ObjetoAireAcondicionado= new AireAcondicionado();


System.out.println("Ingrese el tipo de refrigeracion del Sistema de Aire Acondicionado");
clase=sc.next();
ObjetoAireAcondicionado.setClase(clase);
ObjetoAireAcondicionado.tipo();
ObjetoAireAcondicionado.alimentacion();
ObjetoAireAcondicionado.color();
System.out.println("\n");

System.out.println("Ingrese el material empleado en el Radiador de Aire");


mat=sc.next();
RadiadorAire ObjetoRadiadorAire= new RadiadorAire();
ObjetoRadiadorAire.setForma(mat);
ObjetoRadiadorAire.setClase(clase);
ObjetoRadiadorAire.material(mat);
ObjetoRadiadorAire.implementacion(mat,clase);
}
}
I. PRUEBAS:

PRUEBA DE CAJA NEGRA:


PRUEBA DE CAJA BLANCA:

J. Reporte

REQUERIMIENTOS FUNCIONALES ANÁLISIS DISEÑO IMPLEMENTACIÓN PRUEBAS TOTAL


tipo();

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:

 Se ha logrado realizar correctamente los algoritmos solicitados utilizando Interfaces

L. ACTIVIDADES SEGÚN CRONOGRAMA:

VIGESIMO SEPTIMA ENTREGA: 27 de junio de 2016


INTERFACES PROYECTO

M. REFERENCIAS BIBLIOGRÁFICAS:

Nombre de la obra: Apuntes de Clase.


Nombre de autor (es): Ing. Luis Alberto Guerra
Editorial: ESPE
Año de edición: 2016

[online]: http://www.espe.edu.ec
Tema: Interfaces Proyecto

También podría gustarte