biblioteca en una aplicación. Por último, aprendió que los campos que se declaran sin un modifi cador de acceso
reciben un acceso a nivel de paquete, de manera predeterminada. Vio la relación entre las clases en el mismo
paquete, que permite a cada clase en un paquete acceder a los miembros con acceso a nivel de paquete de otras
clases en ese mismo paquete.
En el siguiente capítulo aprenderá acerca de un aspecto importante de la programación orientada a objetos
en Java: la herencia. En ese capítulo verá que todas las clases en Java se relacionan en forma directa o indirecta con
la clase llamada
Object
. También empezará a comprender cómo las relaciones entre las clases le permiten crear
aplicaciones más poderosas.
Resumen
Sección 8.2 Ejemplo práctico de la clase
Tiempo
• Toda clase que usted declara representa un nuevo tipo en
Java
.
•
Los
métodos
public
de una clase se conocen también como los servicios
public
de la clase, o su interfaz
public
.
El propósito principal de los estos métodos es presentar a los clientes de la clase una vista de los servicios que ésta
proporciona. Los clientes de la clase no se necesitan preocupar por la forma en que ésta realiza sus tareas. Por esta
razón, los miembros de clase
private
no son directamente accesibles para los clientes de la clase.
• Un objeto que contiene datos consistentes tiene valores de datos que siempre se mantienen dentro del rango.
• Un valor que se pasa a un método para modifi car una variable de instancia es un valor correcto, si se encuentra
dentro del rango permitido para la variable de instancia. Un valor correcto siempre consistente, pero un valor consis-
tente no es correcto si un método recibe un valor fuera de rango, y lo establece en un valor consistente para mantener
el objeto en un estado consistente.
•
El
método
static format
de la clase
String
es similar al método
System.out.printf
, excepto que
format
devuel-
ve un objeto
String
con formato, en vez de mostrarlo en una ventana de comandos.
• Todos los objetos en Java tienen un método
toString
, que devuelve una representación
String
del objeto. El méto-
do
toString
se llama en forma implícita cuando aparece un objeto en el código en donde se requiere un
String
.
Sección 8.4 Referencias a los miembros del objeto actual mediante
this
• Un método no
static
de un objeto utiliza en forma implícita la palabra clave
this
para hacer referencia a las
variables de instancia del objeto, y a los demás métodos. La palabra clave
this
también se puede utilizar en forma
explícita.
• El compilador produce un archivo separado con la extensión
.class
para cada clase compilada.
• Si un método contiene una variable local con el mismo nombre que uno de los campos de su clase, la variable
local oculta el campo en el alcance del método. El método puede usar la referencia
this
para hacer referencia al
campo oculto en forma explícita.
Sección 8.5 Ejemplo práctico de la clase
Tiempo
: constructores sobrecargados
• Los constructores sobrecargados permiten inicializar los objetos de una clase de varias formas distintas. El compila-
dor diferencia a los constructores sobrecargados en base a sus fi rmas.
Sección 8.6 Constructores predeterminados y sin argumentos
• Toda clase debe tener por lo menos un constructor. Si no se proporciona uno, el compilador crea un constructor
predeterminado, que inicializa las variables de instancia con los valores iniciales especifi cados en sus declaraciones, o
con sus valores predeterminados.
• Si una clase declara constructores, el compilador no crea un constructor predeterminado. Para especifi car la inicia-
lización predeterminada para los objetos de una clase con varios constructores, el programador debe declarar un
constructor sin argumentos.
Sección 8.7 Observaciones acerca de los métodos
Establecer y Obtener
•
Los
métodos
establecer se conocen comúnmente como métodos mutadores, ya que, por lo general, cambian un va-
lor. Los métodos
obtener se conocen comúnmente como métodos de acceso o de consulta. Un método predicado
evalúa si una condición es verdadera o falsa.
370
Capítulo 8 Clases y objetos: un análisis más detallado
08_MAQ_CAP_08.indd370
4/19/081:24:03AM