Anda di halaman 1dari 24

Programación Orientada a

Objetos (POO) – Parte


II
Interface
Curso : Programación Orientada a Objetos
Unidad 1 : Paradigma de la POO y Herencia
Docente : Mstr. Ing. Oscar Alberto Barnett Contreras
Semestre : 2019-I
Logro General de Aprendizaje
Al finalizar el curso, el estudiante modela e implementa
soluciones informáticas usando el lenguaje de programación
java, aplicando el paradigma Orientado a Objetos.

Logro de la Unidad 1
El estudiante aplica los conceptos básicos de la programación
orientada a objetos y el concepto de herencia en la solución
de problemas usando el lenguaje de programación java.

Mstr. Ing. Oscar Alberto Barnett Contreras


interface en java
• En Java una interface es una clase abstracta pura.
• Permite diseñar una clase (nombre de métodos, listas
de argumentos y tipos de retorno, pero no bloques
de código).
• Puede contener datos miembro, pero estos son
siempre static y final.
• Una interface sirve para establecer un “protocolo”
entre clases.
Declaración de interface
• Se utiliza la palabra clave interface en lugar de class.
• Puede definirse public o sin modificador de acceso.
• Todos los métodos de una interface son siempre
public.

interface nombre_interface
{
tipo_retorno nombre_metodo1( lista_argumentos ) ;
tipo_retorno nombre_metodo2( lista_argumentos ) ;
...
}
Ejemplo Declaración de interface

Interface InstrumentoMusical
{
public void tocar();
public void afinar();
public String tipoInstrumento();
}
Implementación de interface
• Se utiliza la palabra clave implements.
• El compilador se encargará de verificar
que la clase efectivamente declare e
implemente todos los métodos de la
interface.
• Una clase puede implementar más de
una interface.
Ejemplo Implementación de interface
class InstrumentoViento extends Object
implements InstrumentoMusical
{ void tocar()
{... La clase InstrumentoViento
implementa la interface,
};
declarando los métodos y
void afinar() escribiendo el código
{... correspondiente.
};
String tipoInstrumento()
{}
}
Ejemplo Implementación de Interface
class Flauta extends InstrumentoViento
{
String tipoInstrumento()
{
return “Flauta"; La clase derivada “Flauta”
} puede también redefinir, si
es necesario, alguno de los
} métodos heredados.
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:

InstrumentoMusical instru1 = new Flauta();


instru1.tocar();
System.out.println(instru1.tipoInstrumento());

//ERROR. NO SE PUEDE INSTANCIAR


InstrumentoMusical instru2 = new InstrumentoMusical();
Extensión de interfaces
Las interfaces pueden extender otras interfaces y, a
diferencia de las clases, una interface puede extender
más de una interface, con la siguiente sintaxis:

interface nombre_interface extends nombre_interface1, ...


{
tipo_retorno nombre_metodo1 ( lista_argumentos );
tipo_retorno nombre_metodo2 ( lista_argumentos );
...
}
Agrupaciones de constantes
Como todos los datos miembros que se definen en
una interface son static y final; y dado que las
interfaces no pueden instanciarse, resulta una buena
herramienta para implantar grupos de constantes. Por
ejemplo:

public interface Meses


{
int ENERO = 1 , FEBRERO = 2, MARZO=3, . . . ;
String [] NOMBRE_MESES = {" ", "Enero", "Febrero" , ... };
}
System.out.println(Meses.NOMBRES_MESES[ENERO]);
Instalar Plugin UML
Instalar Plugin UML
Instalar Plugin UML
Instalar Plugin UML
Instalar Plugin UML
Instalar Plugin UML
Instalar Plugin UML
Proyecto UML en Netbeans
Proyecto UML en Netbeans
Proyecto UML en Netbeans
Proyecto UML en Netbeans
Ejercicio
Mstr. Ing. Oscar Alberto Barnett Contreras