Está en la página 1de 6

Id

Java 2, incluyena

JAVA 2 MANUAL DE PROGRAMACIN

Luis Joyanes Aguilar Matilde Fernandez Azuela


Departamento de Lenguajes y Sistemas Informticos e Ingeniera del Software Facultad de Informtica / Escuela Universitaria de informtica Universidad Pontificia de Salamanca. Campus Madrid

Osborne
McGraw-Hill
MADRID BUENOS AIRES CARACAS GUATEMALA LISBOA MXICO NUEVA YORK PANAMA SAN JUAN SANTAF DE BOGOT SANTIAGO SA0 PAUL0

AUCKLAND HAMBURG0 LONDRES * MILN MONTREAL NUEVA DELHI PARiS SAN FRANCISCO * SIDNEY SINGAPUR ST. LOUIS TOKIO * TORONTO

4.3. 4.4. 4.5. 4.6. 4.7. 4.8. 4.9. 4.1 O. 4.1 I . 4.12. 4.13.

Acceso a Datos y Mtodos. Utilizacin de mtodos. Paso de parmetros. Paso de parmetros por valor. Paso de parmetros por referencia. Constructores. Modificadores de acceso. private. protected. public. Recursividad.

95

104

imprimircirculo ( )
irnprimirCirculo(miCircu1o);

4.8. CONSTRUCTORES
Un constructor es un tipo especial de mtodo que permite que un objeto se inicialice a valores definidos para sus datos. El constructor tiene exactamente el mismo nombre que la clase a la cual pertenece; es un mtodo public,es decir, un mtodo al que puede accederse desde cualquier parte de un programa.

Ejemplo
class MiClase int micampo ; public M i C l a s e (int v a l o r ) //constructor i
micampo
=

valor;

1
1

El constructor de una clase comienza con la palabra reservada public y despus de la palabra reservada pub1 i c viene el nombre del constructor seguido por sus argumentos entre parntesis. Cuando se crea un objeto de la clase se deben proporcionar tambin los argumentos requeridos por el constructor. Los constructores se pueden sobrecargar, lo que permite construir objetos con diferentes tipos de valores iniciales de datos.

Ejemplo
En la clase Circulo se pueden aadir los siguientes constructores:
C i r c u l o (double r ) i radio = r;

Circulo

()
=

i
radio
4.0

Clases, objetos y mtodos 105

Para crear un nuevo objeto Circulo de radio 6.O se puede utilizar la siguiente sentencia que asigna un valor 6 . O a micirculo. radio:
micirculo
=

new Circulo (6. O) ;

Si se crea u n crculo utilizando la sentencia siguiente, se utiliza el segundo constructor que asigna el radio por defecto 4 . O a micirculo. radio:
micirculo
=

new Circulo ( ) ;

Advertencia: Los constructores son mtodos especiales que no requieren un tipo de retorno, ni incluso v o i d .
Si una clase no tiene constructores, se utiliza un constructorpor defecto que no inicializar los datos del objeto. Si no se utilizan constructores, todos los objetos sern el mismo.

Ejemplo
Dada la clase
c l a s s MiClace
{

i n t micampo; p u b l i c Miclase( i n t valor) t micampo = valor;

1 1

Si se desea crear un objeto de una clase Miclase, se debe proporcionar un valor entero que la clase utiliza para inicializar el campo dato micampo. Este entero es el nico argumento del constructor de MiClase. Se crear un objeto de la clase con una sentencia como sta:

Esta lnea de programa no slo crea un objeto de la clase MiClase, sino que inicializa el campo micampo al valor 5.

Ejercicio
El siguiente programa crea dos objetos C ir cu 1o,de radios 1O y 2, y visualiza sus superficies.

106

Java 2. Manual de programacin

class T e s t C o n s t r u c t o r e s C i r - u l o

i
public static void main (String [ ! args) i //Circulo de radio 10.C Circulo micirculo new C i r c i i i l o (1:). ti) ; Cystem.out.println("La superficie del r i rculo de radio ' ' A miCirculo. rddiot" es " t miCirculo.calc,JlarSuperficie( ) ) ; //Circulo con radio por defecto Circulo suCirculo = new C i r c i i l o ( ) ; System.out .println ( " L a superficie del circulo de radio " f suCirculo. radio+" es " + suCirculo.calcularCuperficie());
y

class Circulo
I

double radio;
Circulo (double r ) radio
=

r;

1
Circulo radio
i
()
=

2.0;

double calcularsuperficie0 return radio*radio*3.14?592;

I
Salida

La superficie del crculo de radio 10.0 es 314.1592 La superficie del crculo de radio 2.0 es 12.566368

Notas: La clase C i r c u l o tiene dos constructores. Se puede especificar un radio o utilizar el radio por defecto para crear un objeto C i r c u l o . As:
1. ElconstmctorCirculo ( 1 0 . O ) seutilizaparacrearuncrculoconunradio 10.0. 2. El constructor C i r c u l o ( ) se utiliza para crear un crculo con un radio por defecto de 2.0.

Los dos objetos creados m i c i r c u l o y s u c i r c u l o comparten los mismos mtodos y por consiguiente se pueden calcular sus superficies utilizando el mtodo c a l c u l a r s u p e r f i c i e .