Constructores

Páginas: 6 (1312 palabras) Publicado: 23 de febrero de 2011
Constructores Concepto de constructores     Los constructores de un tipo de datos son métodos especiales que se definen como miembros de éste y que contienen código a ejecutar cada vez que se cree un objeto de ese tipo. Éste código suele usarse para labores de inicialización de los campos del objeto a crear, sobre todo cuando el valor de éstos no es constante o incluye acciones más allá de unaasignación de valor (aperturas de ficheros, accesos a redes, etc.)     Hay que tener en cuenta que la ejecución del constructor siempre se realiza después de haberse inicializado todos los campos del objeto, ya sea con los valores iniciales que se hubiesen especificado en su definición o dejándolos con el valor por defecto de su tipo.     Aparte de su especial sintaxis de definición, losconstructores y los métodos normales tienen una diferencia muy importante: los constructores no se heredan. Definición de constructores     La sintaxis básica de definición de constructores consiste en definirlos como cualquier otro método pero dándoles el mismo nombre que el tipo de dato al que pertenecen y no indicando el tipo de valor de retorno debido a que nunca pueden devolver nada. Es decir, seusa la sintaxis: ‪ (){ }‬     Un constructor nunca puede devolver ningún tipo de objeto porque, como ya se ha visto, sólo se usa junto al operador new, que devuelve una referencia al objeto recién creado. Por ello, es absurdo que devuelva algún valor ya que nunca podría ser capturado en tanto que new nunca lo devolvería. Por esta razón el compilador considera erróneo indicar algún tipo deretorno en su definición, incluso aunque se indique void. Llamada al constructor     Al constructor de una clase se le llama en el momento en que se crea algún objeto de la misma usando el operador new. De hecho, la forma de uso de este operador es: new     Por ejemplo, el siguiente programa demuestra cómo al crearse un objeto se ejecutan las instrucciones de su constructor: ‪classPrueba{ Prueba(int x) {  System.Console.Write("Creado objeto Prueba con x={0}",x); } public static void Main() {  Prueba p = new Prueba(5); }}‬     La salida por pantalla de este programa demuestra que se ha llamado al constructor del objeto de clase Prueba creado en Main(), pues es: Creado objeto Prueba con x=5;   Llamadas entre constructores      Al igual que ocurre con cualquier otro método,también es posible sobrecargar los constructores. Es decir, se pueden definir varios constructores siempre y cuando éstos tomen diferentes números o tipos de parámetros. Además, desde el código de un constructor puede llamarse a otros constructores del mismo tipo de dato antes de ejecutar las instrucciones del cuerpo del primero. Para ello se añade un inicializador this al constructor, que esestructura que precede a la llave de apertura de su cuerpo tal y como se muestra en el siguiente ejemplo: ‪class A{ int total;  A(int valor): this(valor, 2);  // (1) { }  A(int valor, int peso) // (2) {  total = valor*peso; }} ‬      El this incluido hace que la llamada al constructor (1) de la clase A provoque una llamada al constructor (2) de esa misma clase en la que se le pase como primerparámetro el valor originalmente pasado al constructor (1) y como segundo parámetro el valor 2. Es importante señalar que la llamada al constructor (2) en (1) se hace antes de ejecutar cualquier instrucción de (1)      Nótese que la sobrecarga de constructores -y de cualquier método en general- es un buen modo de definir versiones más compactas de métodos de uso frecuente en las que se tomen valores pordefecto para parámetros de otras versiones menos compactas del mismo método. La implementación de estas versiones compactas consistiría en hacer una llamada a la versión menos compacta del método en la que se le pasen esos valores por defecto (a través del this en el caso de los constructores) y si acaso luego (y/o antes, si no es un constructor) se hagan labores específicas en el cuerpo del...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Constructoras
  • constructor
  • Constructora
  • Constructor
  • Constructores
  • Constructoras
  • CONSTRUCTOR
  • Los constructores

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS