448
Capítulo 10 Programación orientada a objetos: polimorfi smo
toString
. (Observe que aquí también podemos invocar a
toString
en forma implícita). La línea 28 invoca al
método
obtenerMontoPago
de
PorPagar
para obtener el monto a pagar para cada objeto en
objetosPorPagar
,
sin importar el tipo actual del objeto. Los resultados revelan que las llamadas a los métodos en las líneas 27 y 28
invocan a la implementación de la clase apropiada de los métodos
toString
y
obtenerMontoPago
. Por ejemplo,
cuando
empleadoActual
se refi ere a un objeto
Factura
durante la primera iteración del ciclo
for
, se ejecutan
los métodos
toString
y
obtenerMontoPago
de la clase
Factura
.
Observación de ingeniería de software 10.10
Todos los métodos de la clase
Object
pueden llamarse mediante el uso de una referencia de un tipo de interfaz. Una
referencia se refi ere a un objeto, y todos los objetos heredan los métodos de la clase
Object
.
10.7.7 Declaración de constantes con interfaces
Como mencionamos en la sección 10.7, una interfaz puede declarar constantes. De manera implícita, las constan-
tes son
public
,
static
y
final
; de nuevo, no se requieren estas palabras en la declaración de la interfaz. Un uso
popular de una interfaz es para declarar un conjunto de constantes que pueden utilizarse en muchas declaraciones
de clases. Considere la siguiente interfaz
Constantes
:
public interface
Constantes
{
int
UNO
=
1
;
int
DOS
=
2
;
int
TRES
=
3
;
}
Una clase puede usar estas constantes, para lo cual importa la interfaz y después hace referencia a cada constante
como
Constantes.UNO
,
Constantes.DOS
y
Constantes.TRES
. Observe que una clase puede hacer referencia
a las constantes importadas sólo con sus nombres (es decir,
UNO
,
DOS
y
TRES
) si utiliza una declaración
static
import
(presentada en la sección 8.12) para importar la interfaz.
Observación de ingeniería de software 10.11
A partir de Java SE 5.0, una mejor práctica de programación fue crear conjuntos de constantes como enumeraciones,
con la palabra clave
enum
. En la sección 6.10 podrá consultar una introducción a
enum
, y en la sección 8.9 podrá
ver los detalles adicionales sobre las
enums
.
10.7.8 Interfaces comunes de la API de Java
En esta sección veremos las generalidades acerca de varias interfaces comunes que se encuentran en la API de Java.
El poder y la fl exibilidad de las interfaces se utilizan con frecuencia a lo largo de la API de Java. Estas interfaces se
implementan y usan de la misma forma que las interfaces que usted crea (por ejemplo, la interfaz
PorPagar
en la
sección 10.7.2). Como verá a lo largo de este libro, las interfaces de la API de Java le permiten utilizar sus propias
clases dentro de los marcos de trabajo que proporciona Java, como el comparar objetos de sus propios tipos y crear
tareas que se ejecuten de manera concurrente con otras tareas en el mismo programa. La fi gura 10.16 presenta una
breve sinopsis de las interfaces más populares de la API de Java que utilizamos en este libro.
Interfaz
Descripción
Comparable
Como vimos en el capítulo 2, Java contiene varios operadores de comparación (<, <=, >, >=,
==, !=) que nos permiten comparar valores primitivos. Sin embargo, estos operadores no se
pueden utilizar para comparar el contenido de los objetos. La interfaz
Comparable
se utiliza
para permitir que los objetos de una clase que implementa a la interfaz se comparen entre
sí. La interfaz contiene un método,
compareTo
, que compara el objeto que llama al método
con el objeto que se pasa como argumento para el método. Las clases deben implementar
Figura 10.16
|
Interfaces comunes de la API de Java. (Parte 1 de 2).
10_MAQ_CAP_10.indd448
4/19/081:25:26AM