Вы находитесь на странице: 1из 4

Constructores

Cuando se crea un objeto (se instancia una clase) es posible


definir un proceso de inicializacin que prepare el objeto para ser
usado. Esta inicializacin se lleva a cabo invocando un mtodo
especial denominado constructor. Esta invocacin es implcita y
se realiza automticamente cuando se utiliza el operador new.
os constructores tienen al!unas caractersticas especiales"

El nombre del constructor tiene que se i!ual al de la clase.

#uede recibir cualquier n$mero de ar!umentos de cualquier


tipo% como cualquier otro mtodo.

&o devuelve nin!$n valor (en su declaracin no se declara ni


siquiera void).

Constructores
El constructor no es un miembro ms de una clase. 'lo es
invocado cuando se crea el objeto (con el operador new). &o
puede invocarse e(plcitamente en nin!$n otro momento.
'e podra escribir un constructor para la clase #unto% de la
si!uiente forma"
class #unto )
int ( % y *
#unto ( int a % int b ) )
( + a * y + b *
,
,
Con este constructor se creara un objeto
de la clase #unto de la si!uiente forma"
#unto p + ne- #unto ( . % / )*

'obrecar!a de constructores.
0na clase puede definir varios constructores (un objeto puede
inicializarse de varias formas). #ara cada instanciacin se usa el
que coincide en n$mero y tipo de ar!umentos. 'i no 1ay nin!uno
coincidente se produce un error en tiempo de compilacin.
#or ejemplo"
class #unto )
int ( % y *
#unto ( int a % int b ) )
( + a * y + b *
,
#unto () )
( + 2 * y + 2*
,
,
En el ejemplo se definen dos constructores. El
citado en el ejemplo anterior y un se!undo que
no recibe ar!umentos e inicializa las variables
miembro a 2. (&ota" veremos ms adelante
que este tipo de inicializacin es innecesario%
pero para nuestro ejemplo sirve).

'obrecar!a de constructores.
3esde un constructor puede invocarse e(plcitamente a otro
constructor utilizando la palabra reservada this. this es una
referencia al propio objeto. Cuando this es se!uido por
parntesis se entiende que se est invocando al constructor del
objeto en cuestin. El ejemplo anterior puede reescribirse de la
si!uiente forma"
class #unto )
int ( % y *
#unto ( int a % int b ) )
( + a * y + b *
,
#unto () )
t1is (2%2)*
,
,
Cuando se declaran varios constructores para
una misma clase estos deben distin!uirse en la
lista de ar!umentos% bien en el n$mero% bien
en el tipo.
Esta caracterstica de definir mtodos con el
mismo nombre se denomina sobrecar!a y es
aplicable a cualquier mtodo miembro de una
clase

Вам также может понравиться