Está en la página 1de 25

Desarrollo Web

Integrado
MSc. Yuliana Jáuregui Rosas
Conocimientos previos
• ¿Cuáles son los principios de la POO?
• ¿Qué tipos de polimorfismos se puede implementar?
Lenguaje Java
Utilidad
Temario

➢ Tipos de herencia
➢ Interfaces
➢ implementación
➢ Referencias a interfaces
➢ Ventaja del uso de interfaces
Logro

Al finalizar esta sesión el estudiante,


implementa un programa en Java
utilizando la plataforma Java
Standard Edition.
Herencia
• La herencia es un mecanismo que permite la definición de una
clase a partir de la definición de otra ya existente. La herencia
permite compartir automáticamente métodos y datos entre
clases, subclases y objetos.
Tipos de herencia
A
• Herencia simple
• Una clase puede heredar de una única clase. B C
• Ejemplo: Java
D E
• Herencia múltiple
• Una clase puede heredar de varias clases.
B C
• Clases forman un grafo dirigido aciclíco
• Ejemplos: Eiffel, C++
A
Tipos de herencia
• En Java sólo se dispone de herencia simple, para una mayor
sencillez del lenguaje, si bien se compensa de cierta manera la
inexistencia de herencia múltiple con un concepto denominado
interface.
Interfaces
• Las interfaces son una forma de especificar qué debe hacer una clase sin
especificar el cómo.
• Son semejantes a las clases abstractas, es decir no pueden definir objetos
y sus métodos no están implementados.
• En una interface lo único que puede aparecer son las declaraciones de
métodos y/o las definiciones constantes.
• Las interfaces no son clases, por el contrario una clase puede implementar
una o mas interfaces.
• Las clases que implementen interfaces deben desarrollar los métodos que
han sido definidos.
Interfaces
• Se declara utilizando la palabra reservada interface.Su sintaxis es:

interface nombreDeLaInterface{
tipo variableFinal1 = valor_constante;
tipo variableFinal2 = valor_constante;

tipo nombreDelMetodo1(lista de parámetros);


tipo nombreDelMetodo2(lista de parámetros);
}
Implementación
• Las clases que quieran utilizar una interface utilizarán la
palabra implements y proporcionarán el código necesario para
implementar los métodos que se han sigo definidos.

• Al utilizar implements para el interface es como si se hiciese


una acción de copiar-y-pegar del código del interface, con lo cual
no se hereda nada, solamente se pueden usar los métodos.
Así se tiene:

public interface MiInterface{


int unValor = 12;
public void unMetodo();
}
public class MiClase implements MiInterface{
public void unMetodo {

}
public void unMetodoPropio{

}
}
¿Por qué usar interfaces?
Reproductor

emitirSonido()

DVD Blu-ray

emitirSonido() emitirSonido()
¿Por qué usar interfaces?

Persona Ingeniero

hablar() diseñar()
comer()

Programador

hablar()
comer()
diseñar()
Ejemplo
interface InstrumentosElectricos{
int energia = 12;
public void totalVoltaje();
}

interface InstrumentosDeCuerda{
int cantCuerdas = 8;
public void afinarSonido();
}
Ejemplo

class GuitarraElectica implements InstrumentosElectricos, InstrumentosDeCuerda{


public void totalVoltaje(){

}
public void afinarSonido(){

}
}
Referencias a Interfaces
• Es posible crear referencias a interfaces, pero las interfaces no pueden ser
instanciadas. Una referencia a una interface puede ser asignada a
cualquier objeto que implemente la interface. Por ejemplo, si se:

InstrumentosElectricos x = new GuitarraElectrica();


// Si se puede hacer referencia a una interface mediante una clase

InstrumentosElectricos y = new InstrumentosElectricos();


// No se puede instanciar una interface
Ejemplo 1
• Crear una interface Teléfono donde debe figurar la renta básica de 37 soles y el método
pagoTeléfono. En otra interface Cable el pago básico de 67 soles y el método pagoCable.
En la clase Cliente debe implementar ambas interfaces. De acuerdo al tipo de teléfono se
adiciona a la renta básica los siguientes montos:
Tipo de teléfono Adicional (S/)
Básico 0
Medio 25
Completo 30
Plus 40

• En cuanto al cable si posee el servicio clásico paga lo básico sino se aplica un adicional de
40 soles. Calcular el total de ambos servicios al mes.
Ejemplo

public interface Telefono {


int rb=37;
public void pagoTelefono();
}

public interface Cable {


int pb=67;
public void pagoCable();
}
public class Cliente implements Telefono, Cable{
private double pagoT;
Ejemplo private double pagoC;
private int total;
private char tipo;
private char sBasico;

public void pagoTelefono(){
switch(tipo){
case ‘B': pagoT = rb; break;
case ‘M': pagoT = rb+25; break;
case ‘C': pagoT = rb+30; break;
case ‘P': pagoT = rb+40; break;
}
}
public void pagoCable(){
switch(sBasico){
case 'S': pagoC = pb; break;
case 'N': pagoC = pb+40; break;
}
}
public void calcularTotal(){
total= pagoT+ pagoC;
}
}
Ventaja del uso de interfaces
• La ventaja principal del uso de interfaces es que una
clase interface puede ser implementada por cualquier número de
clases, permitiendo a cada clase compartir el interfaz de
programación sin tener que ser consciente de la implementación
que hagan las otras clases que implementen el interface.
Aplicaciones
Implementar en el laboratorio
lo explicado en clase
Resumiendo…
• ¿Para que se utiliza las interfaces?
• ¿Qué se define dentro de una interface?
• ¿Se puede instancia una interface?

También podría gustarte