86

Capítulo 3 Introducción a las clases y los objetos

Buena práctica de programación 3.2

Coloque una línea en blanco entre las declaraciones de los métodos, para separarlos y mejorar la legibilidad del 
programa.

El proceso de declarar variables de instancia con el modifi cador de acceso 

private

 se conoce como 

oculta-

miento de datos

. Cuando un programa crea (instancia) un objeto de la clase 

LibroCalificaciones

, la variable 

nombreDelCurso

 se encapsula (oculta) en el objeto, y sólo está accesible para los métodos de la clase de ese objeto. 

En la clase 

LibroCalificaciones

, los métodos 

establecerNombreDelCurso

 y 

obtenerNombreDelCurso

 mani-

pulan a la variable de instancia 

nombreDelCurso

.

El método 

establecerNombreDelCurso

 (líneas 10 a la 13) no devuelve datos cuando completa su tarea, por 

lo que su tipo de valor de retorno es 

void

. El método recibe un parámetro (

nombre

), el cual representa el nom-

bre del curso que se pasará al método como un argumento. La línea 12 asigna 

nombre

 a la variable de instancia 

nombreDelCurso

.

El método 

obtenerNombreDelCurso

 (líneas 16 a la 19) devuelve un 

nombreDelCurso

 de un objeto 

Libro-

Calificaciones

 específi co. El método tiene una lista de parámetros vacía, por lo que no requiere información 

adicional para realizar su tarea. El método especifi ca que devuelve un objeto 

String

; a éste se le conoce como el 

tipo de valor de retorno

 del método. Cuando se hace una llamada a un método que especifi ca un tipo de valor 

de retorno, y éste completa su tarea, devuelve un resultado al método que lo llamó. Por ejemplo, cuando usted 
va a un cajero automático (ATM) y solicita el saldo de su cuenta, espera que el ATM le devuelva un valor que 
representa su saldo. De manera similar, cuando una instrucción llama al método 

obtenerNombreDelCurso

 en un 

objeto

LibroCalificaciones

, la instrucción espera recibir el nombre del curso de 

LibroCalificaciones

 (en este 

caso, un objeto 

String

, como se especifi ca en el tipo de valor de retorno de la declaración del método). Si tiene 

un método 

cuadrado

 que devuelve el cuadrado de su argumento, es de esperarse que la instrucción

int

 resultado = cuadrado( 

2

 );

devuelva 

4

del método 

cuadrado

 y asigne 

4

 a la variable 

resultado

. Si tiene un método 

maximo

 que devuelve el 

mayor de tres argumentos enteros, es de esperarse que la siguiente instrucción

int

 mayor = maximo( 

27

,

114

,

51

);

devuelva 

114

 del método 

maximo

 y asigne 114 a la variable 

mayor

.

Observe que cada una de las instrucciones en las líneas 12 y 18 utilizan 

nombreDelCurso

, aun cuando esta 

variable no se declaró en ninguno de los métodos. Podemos utilizar 

nombreDelCurso

 en los métodos de la clase 

LibroCalificaciones

, ya que 

nombreDelCurso

 es un campo de la clase. Observe además que el orden en el que 

se declaran los métodos en una clase no determina cuándo se van a llamar en tiempo de ejecución. Por lo tanto, 
el método 

obtenerNombreDelCurso

 podría declararse antes del método 

establecerNombreDelCurso

.

El método 

mostrarMensaje

 (líneas 22 a la 28) no devuelve datos cuando completa su tarea, por lo que su 

tipo de valor de retorno es 

void

. El método no recibe parámetros, por lo que la lista de parámetros está vacía. Las 

líneas 26 y 27 imprimen un mensaje de bienvenida, que incluye el valor de la variable de instancia 

nombreDel-

Curso

. Una vez más, necesitamos crear un objeto de la clase 

LibroCalificaciones

 y llamar a sus métodos para 

poder mostrar en pantalla el mensaje de bienvenida.

La clase 

PruebaLibroCalificaciones

 que demuestra a la clase 

LibroCalificaciones

La clase 

PruebaLibroCalificaciones

 (fi gura 3.8) crea un objeto de la clase 

LibroCalificaciones

 y demuestra 

el uso de sus métodos. La línea 11 crea un objeto 

Scanner

, que se utilizará para obtener el nombre de un curso 

del usuario. La línea 14 crea un objeto 

LibroCalificaciones

 y lo asigna a la variable local 

miLibroCalificacio-

nes

, de tipo 

LibroCalificaciones

. Las líneas 17-18 muestran el nombre inicial del curso mediante una llamada 

al método 

obtenerNombreDelCurso

 del objeto. Observe que la primera línea de la salida muestra el nombre 

null”

. A diferencia de las variables locales, que no se inicializan de manera automática, cada campo tiene un 

valor inicial predeterminado

: un valor que Java proporciona cuando el programador no especifi ca el valor inicial 

del campo. Por ende, no se requiere que los campos se inicialicen explícitamente antes de usarlos en un programa, 
a menos que deban inicializarse con valores distintos de los predeterminados. El valor predeterminado para un 
campo de tipo 

String

 (como 

nombreDelCurso

 en este ejemplo) es 

null

, de lo cual hablaremos con más detalle 

en la sección 3.6.

03_MAQ_CAP_03.indd86

4/19/081:19:51AM