clases de Java
) y en diversas bibliotecas de clases. Por lo general, las clases relacionadas están agrupadas en paque-
tes, de manera que se pueden importar a los programas y reutilizarse. En el capítulo 8 aprenderá a agrupar sus
propias clases en paquetes. La API de Java proporciona una vasta colección de clases que contienen métodos para
realizar cálculos matemáticos, manipulaciones de cadenas, manipulaciones de caracteres, operaciones de entrada/
salida, comprobación de errores y muchas otras operaciones útiles.
Buena práctica de programación 6.1
Procure familiarizarse con la vasta colección de clases y métodos que proporciona la API de Java (
java.sun.com/
javase/6/docs/api/
). En la sección 6.8 presentaremos las generalidades acerca de varios paquetes comunes. En el
apéndice J, le explicaremos cómo navegar por la documentación de la API de Java.
Observación de ingeniería de software 6.1
Evite reinventar la rueda. Cuando sea posible, reutilice las clases y métodos de la API de Java. Esto reduce el tiempo
de desarrollo de los programas y evita que se introduzcan errores de programación.
Los métodos (también conocidos como
funciones
o
procedimientos
en otros lenguajes) permiten al progra-
mador dividir un programa en módulos, por medio de la separación de sus tareas en unidades autónomas. Usted
ha declarado métodos en todos los programas que ha escrito; a estos métodos se les conoce algunas veces como
métodos declarados por el programador
. Las instrucciones en los cuerpos de los métodos se escriben sólo una
vez, y se reutilizan tal vez desde varias ubicaciones en un programa; además, están ocultas de otros métodos.
Una razón para dividir un programa en módulos mediante los métodos es la metodología “divide y vence-
rás”, que hace que el desarrollo de programas sea más fácil de administrar, ya que se pueden construir programas
a partir de piezas pequeñas y simples. Otra razón es la
reutilización de software
(usar los métodos existentes
como bloques de construcción para crear nuevos programas). A menudo se pueden crear programas a partir de
métodos estandarizados, en vez de tener que crear código personalizado. Por ejemplo, en los programas anteriores
no tuvimos que defi nir cómo leer los valores de datos del teclado; Java proporciona estas herramientas en la clase
Scanner
. Una tercera razón es para evitar la repetición de código. El proceso de dividir un programa en métodos
signifi cativos hace que el programa sea más fácil de depurar y mantener.
Observación de ingeniería de software 6.2
Para promover la reutilización de software, cada método debe limitarse de manera que realice una sola tarea bien
defi nida, y su nombre debe expresar esa tarea con efectividad. Estos métodos hacen que los programas sean más fáci-
les de escribir, depurar, mantener y modifi car.
Tip para prevenir errores 6.1
Un método pequeño que realiza una tarea es más fácil de probar y depurar que un método más grande que realiza
muchas tareas.
Observación de ingeniería de software 6.3
Si no puede elegir un nombre conciso que exprese la tarea de un método, tal vez esté tratando de realizar diversas
tareas en un mismo método. Por lo general, es mejor dividirlo en varias declaraciones de métodos más pequeños.
Un método se invoca mediante una llamada, y cuando el método que se llamó completa su tarea, devuelve
un resultado, o simplemente el control al método que lo llamó. Una analogía a esta estructura de programa es
la forma jerárquica de la administración (fi gura 6.1). Un jefe (el solicitante) pide a un trabajador (el método lla-
mado) que realice una tarea y que le reporte (devuelva) los resultados después de completar la tarea. El método
jefe, no sabe cómo el método trabajador, realiza sus tareas designadas. Tal vez el trabajador llame a otros métodos
trabajadores, sin que lo sepa el jefe. Este “ocultamiento” de los detalles de implementación fomenta la buena
ingeniería de software. La fi gura 6.1 muestra al método
jefe
comunicándose con varios métodos trabajadores en
forma jerárquica. El método
jefe
divide las responsabilidades entre los diversos métodos trabajadores. Observe
que
trabajador1
actúa como “método jefe” de
trabajador4
y
trabajador5
.
6.2 Módulos de programas en Java
213
06_MAQ_CAP_06.indd213
4/19/081:22:10AM