08 interfaces
TRANSCRIPT
-
8/7/2019 08 Interfaces
1/10
1
Interfaces
Tecnologa de la Programacin IIng. Zoraida Vidal Melgarejo, Mg.
-
8/7/2019 08 Interfaces
2/10
2
Interfaces
Un interface es una coleccin de declaraciones de mtodos
(sin definirlos) y tambin puede incluir atributos.
El papel de la interface es el de describir algunas de las
caractersticas de una clase. Por ejemplo, el hecho de que
una persona sea un futbolista no define su personalidadcompleta, pero hace que tenga ciertas caractersticas que las
distinguen de otras.
Clases que no estn relacionadas pueden implementar una
interface, por ejemplo, una clase que describa una animaciny una clase que realice un clculo intensivo podran
implementar una misma interface.
-
8/7/2019 08 Interfaces
3/10
3
Interfaces
Podra suceder que los objetos de varias clases compartan lacapacidad de ejecutar un cierto conjunto de operaciones.
Y dependiendo de la clase de objeto, cada operacin serealice de diferente manera.
Ejemplo: Clases: Circulo, Elipse, Triangulo, ....
Todas esas clases incluyen los mtodos: rea, permetro,cambiarEscala, etc.
Podramos definir una interface comn que agrupe todos losmtodos comunes (como mtodos abstractos).
Y luego definir varias clases de modo que implementen unamisma interfaz.
-
8/7/2019 08 Interfaces
4/10
4
Ejemplo de Interfaz
public interface Figura {
public double PI=3.1416;
public double area();
public double perimetro();
}
-
8/7/2019 08 Interfaces
5/10
5
Ejemplo de Interfaz
public class Circulo implements Figura {
private double radio;
...
public double area() {return PI*radio*radio;
}
public double perimetro() {
return 2*PI*radio;
}
}
-
8/7/2019 08 Interfaces
6/10
6
Ejemplo de Interfaz
public class Cuadrado implements Figura {
private double lado;
...
public double area() {
return lado*lado;
}
public double perimetro() {
return 4*lado;}
}
-
8/7/2019 08 Interfaces
7/10
7
Ejemplo de Interfaz
La interface Figura tiene un atributo de nombre PI, y la
definicin de dos mtodos: area() y perimetro().
Las clases que implementen a esta interface deben de
proporcionarle una implementacin (cuerpo o cdigo) a los
dos mtodos definidos en la interface.
El atributo de la interface se convierte en una constante
para las clases que implementan a la interface.
-
8/7/2019 08 Interfaces
8/10
8
Herencia mltiple con Interfaces
Una misma clase puede implementar ms de una interfaz
Simulacin de herencia mltiple.
Pagos Descuentos
Empleado
public class Empleado implements Pagos, Descuentos {
}
-
8/7/2019 08 Interfaces
9/10
9
Herencia entre Interfaces
Un interface puede heredar de ms de una interface
Herencia mltiple de interfaces.
SeguroSocial AFP
Descuentos
public interface Descuentos extends SeguroSocial, AFP {
}
-
8/7/2019 08 Interfaces
10/10
10
Agrupando objetos que comparten
la implementacin de una Interface
double totalArea(Figura v[]) {
double t=0;
for (int i=0; i