Vous êtes sur la page 1sur 4

Friday 19 june 2009 5 19 /06 /Jun /2009 03:51

Constructores en Java.
Constructores
Un Constructor es una funcin, mtodo, etc, de las clases, la cual es llamada
automticamente cuando se crea un objeto de esa clase.
Por ser mtodos, los constructores tambin aceptan parmetros. Cuando en una clase no
especificamos ningn tipo de constructor, el compilador aade uno pblico por omisin sin
parmetros, el cual NO ace nada.
Caractersticas de los Constructores
!. Un constructor, tiene el mismo nombre de la clase a la cual pertenece.
". No puede ser #eredado.
$. No retorna ningn %alor &Ni %oid', por lo cual no debe especificarse ningn tipo de dato.
(. )ebe declararse como public, slo en casos realmente e*traordinarios ser de otro
tipo.
+upongamos una clase llamada )atos
public class )atos
,
--declaracion de atributos
public )atos&'.--constructor sin parametros
public )atos&int /dad'
,--Constructor con parmetros
/dad01/dad.
2
2
Ejemplo.
+e )esea crear un objeto del tipo Coordenadas, 3ue indi3ue, la posicin de un punto en el
plano cartesiano, 4 permita calcular la distancia e*istente con otro punto, adems del punto
medio entre ellos.
! -56rci%o Coordenadas.ja%a5-
"
$ public class Coordenadas ,
( pri%ate int *,4.--6tributos
7 public Coordenadas &int *! , int 4!'--constructor
8 ,
9 --asignamos esos %alores
: *1*!.
; 414!.
!< 2
!! public double )istancia &int *!, int 4!'
!" ,
!$ --este mtodo recibe como parametros
!( --las coordenadas del segundo punto
!7 double ).
!8 )10at.s3rt&&*=*!'5&*=*!'>&4=4!'5&4=4!''.
!9 return ).--?etornamops el %alor de la distancia
!: 2
!; public %oid Pmedio&int *!, int 4!'
"< ,
"! double p!, p".
"" p!1&*>*!'-".
"$ p"1&4>4!'-".
"( +4stem.out.println&@/l puntomedio esA @>p!>@,@>p"'.
"7 2
"8 2

! -56rci%o UsaCoordenadas.ja%a5-
" public class UsaCoordenadas ,
$ public static %oid main &+tring args BC',
( Coordenadas P1neD Coordenadas &!<,"<'.
7 --calculamos la )istanciaA
8 +4stem.out.println&@Ea )istancia esA @>P.)istancia&7,8''.
9 --Punto 0edio
: P.Pmedio&7,8'.
; 2
!< 2
Explicacin:
Un mtodo, si %a a de%ol%er algn %alor, ste debe especificarse cuando se ace la definicin
del mismo, para el caso, el mtodo )istancia, de%uel%e el %alor de la distancia, es por ello 3ue
lo especificamos como public double. 6dems 3ue, cuando realiFamos la llamada de ese
mtodo, es en ese preciso lugar 3ue aparecer el %alor 3ue de%uel%e. Por otra parte, los
atributos, son de acceso pri%ado, lo cual implica 3ue, slo podemos acceder a ellos, en la
clase Coordenadas.
Sobrecarga
Cuando en una clase, se definen un mismo mtodo, con diferente nmero de parmetros, o
bien con el mismo numero de parmetros pero diferencindose en la definicin, en la cual, al
menos un parmetro sea de diferente tipo, cuando esto sucede, se dice 3ue el mtodo est
sobrecargado.
Ejemplo.
Cree una aplicacin en Ga%a, 3ue imprima un nmero imaginario. Nota, los nmeros
imaginarios, poseen una parte real 4 otra imaginaria, acompaada por la constante i.
! class Hmaginario ,
" pri%ate int real, imag.
$ public Hmaginario&'
( ,
7 real1<.
8 imag1<.
9 2
: public Hmaginario&int *, int 4'
; ,
!< real1*.
!! imag14.
!" 2
!$ public %oid 0ostrar&'
!( ,
!7 +4stem.out.println&@/l Numero Hmaginario esA @>real>@ > @>imag>@i@'.
!8 2
!9 2

! class UsaHmaginario,
" public static %oid main &+tring args BC' ,
$ Hmaginario oH1neD Hmaginario&7,8'.
( oH.0ostrar&'.
7 2
8 2
Explicacin.
/n el ejemplo anterior puede notar 3ue, los atributos, son esas %ariables simples, es las cuales
almacenaremos informacin rele%ante a los objetos 3ue, crearemos a partir de esa clase.
6dems 3ue, los estamos declarando como pblicos, lo cual indica 3ue tenemos acceso directo
desde cual3uier otro arci%o a los atributos. Eos mtodos son del tipo public 4 no de%uel%en
ningn %alor, por tal raFn son declarados como void. 6dems 3ue. /l mtodo /stablecer/dad
4 /stablecerNota, reciben un argumento cada uno de ellos, el cual es asignado al respecti%o
atributo.
Constructores
Un Constructor es una funcin, mtodo, etc, de las clases, la cual es llamada
automticamente cuando se crea un objeto de esa clase.
Por ser mtodos, los constructores tambin aceptan parmetros. Cuando en una clase no
especificamos ningn tipo de constructor, el compilador aade uno pblico por omisin sin
parmetros, el cual NO ace nada.
Caractersticas de los Constructores
!. Un constructor, tiene el mismo nombre de la clase a la cual pertenece.
". No puede ser #eredado.
$. No retorna ningn %alor &Ni %oid', por lo cual no debe especificarse ningn tipo de dato.
(. )ebe declararse como public, slo en casos realmente e*traordinarios ser de otro
tipo.
+upongamos una clase llamada )atos
public class )atos
,
--declaracion de atributos
public )atos&'.--constructor sin parametros
public )atos&int /dad'
,--Constructor con parmetros
/dad01/dad.
2
2
Ejemplo 7.2
+e )esea crear un objeto del tipo Coordenadas, 3ue indi3ue, la posicin de un punto en el
plano cartesiano, 4 permita calcular la distancia e*istente con otro punto, adems del punto
medio entre ellos.
! -56rci%o Coordenadas.ja%a5-
"
$ public class Coordenadas ,
( pri%ate int *,4.--6tributos
7 public Coordenadas &int *! , int 4!'--constructor
8 ,
9 --asignamos esos %alores
: *1*!.
; 414!.
!< 2
!! public double )istancia &int *!, int 4!'
!" ,
!$ --este mtodo recibe como parametros
!( --las coordenadas del segundo punto
!7 double ).
!8 )10at.s3rt&&*=*!'5&*=*!'>&4=4!'5&4=4!''.
!9 return ).--?etornamops el %alor de la distancia
!: 2
!; public %oid Pmedio&int *!, int 4!'
"< ,
"! double p!, p".
"" p!1&*>*!'-".
"$ p"1&4>4!'-".
"( +4stem.out.println&@/l puntomedio esA @>p!>@,@>p"'.
"7 2
"8 2

! -56rci%o UsaCoordenadas.ja%a5-
" public class UsaCoordenadas ,
$ public static %oid main &+tring args BC',
( Coordenadas P1neD Coordenadas &!<,"<'.
7 --calculamos la )istanciaA
8 +4stem.out.println&@Ea )istancia esA @>P.)istancia&7,8''.
9 --Punto 0edio
: P.Pmedio&7,8'.
; 2
!< 2
Explicacin:
Un mtodo, si %a a de%ol%er algn %alor, ste debe especificarse cuando se ace la definicin
del mismo, para el caso, el mtodo )istancia, de%uel%e el %alor de la distancia, es por ello 3ue
lo especificamos como public double. 6dems 3ue, cuando realiFamos la llamada de ese
mtodo, es en ese preciso lugar 3ue aparecer el %alor 3ue de%uel%e. Por otra parte, los
atributos, son de acceso pri%ado, lo cual implica 3ue, slo podemos acceder a ellos, en la
clase Coordenadas.
Sobrecarga
Cuando en una clase, se definen un mismo mtodo, con diferente nmero de parmetros, o
bien con el mismo numero de parmetros pero diferencindose en la definicin, en la cual, al
menos un parmetro sea de diferente tipo, cuando esto sucede, se dice 3ue el mtodo est
sobrecargado.
Ejemplo.
Cree una aplicacin en Ga%a, 3ue imprima un nmero imaginario. Nota, los nmeros
imaginarios, poseen una parte real 4 otra imaginaria, acompaada por la constante i.
! class Hmaginario ,
" pri%ate int real, imag.
$ public Hmaginario&'
( ,
7 real1<.
8 imag1<.
9 2
: public Hmaginario&int *, int 4'
; ,
!< real1*.
!! imag14.
!" 2
!$ public %oid 0ostrar&'
!( ,
!7 +4stem.out.println&@/l Numero Hmaginario esA @>real>@ > @>imag>@i@'.
!8 2
!9 2

! class UsaHmaginario,
" public static %oid main &+tring args BC' ,
$ Hmaginario oH1neD Hmaginario&7,8'.
( oH.0ostrar&'.
7 2
8 2