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