Sunteți pe pagina 1din 4

Escamilla Garca Brandon 12590391 ISC POO segundo semestre

Constructores y destructores. Un constructor es un procedimiento especial de una clase que es llamado automticamente siempre que se crea un objeto de esa clase. Su funcin es iniciar el objeto. Un destructor es un procedimiento especial de una clase que es llamado automticamente siempre que se destruye un objeto de esa clase. Su funcin es realizar cualquier tarea final en el momento de destruir un objeto. Constructores y destructores. Un constructor define valores iniciales para las variables internas. En general, cuando creamos un objeto de una clase se invoca automticamente a un constructor, que prepara el objeto y establece los miembros de la clase. Una clase puede tener tambin una funcin destructor. Esta funcin se llama cuando la ejecucin del programa abandona el mbito de una clase. Los destructores destruyen los objetos que ya no se necesitan dentro de un programa. Una funcin constructor se declara mediante unas reglas: Funcin miembro con el mismo nombre de la clase. No devuelve ningn valor.

Funciones de los destructores: Destruye los objetos de la clase que ya no se necesitan. Es una funcin definida por el usuario que no tiene agrupamientos No devuelve ningn valor No puede ser sobrecargado

Existen muchos tipos de constructores entre los que se encuentran: Ordinarios: El constructor ordinario crea una nueva instancia de la clase y pone los miembros dato a los valores incluidos en la declaracin. Por omisin: es un constructor que no requiere argumentos; a lista de argumentos es o bien vaca, o todos los argumentos tienen valores por omisin asignados a ellos. De copia: se utiliza para crear un nuevo objeto e inicializar ese objeto con los valores de otro objeto de la misma clase. Un constructor de copia por defecto se crea por el compilador si no se ha proporcionado un constructor de copia como una de las funciones miembro de la clase.

Escamilla Garca Brandon 12590391 ISC POO segundo semestre


De inicializacin: pueden proporcionar iniciacin si solo una parte del nuevo objeto son valores que no representan un objeto completo del mismo tipo que el nuevo objeto. Operador de asignacin.

Una clase puede tener ms de un constructor, que sobre carga el nombre de constructor. Sintaxis. El formato general para definir un constructor es: Clase X: :Clase X(args) : lista_inic { cuerpo del constructor };

Ejemplo: class reloj { int hr, min, seg; public: void poner_hora (int h, int m, int s); void calcular_hora (void); void ver (void); reloj (int h, int m,int s); // constructor };

//definicin de la funcin constructor reloj::reloj (int h, int m,int s) { poner_hora (h,m,s)

Escamilla Garca Brandon 12590391 ISC POO segundo semestre


}

Ejemplo de destructor: class cadena { char*datos; int longitud; public: cadena (int z); // consructor ~cadena (void); // destructor }; cadena:: cadena (int z) { datos=new char [ z ]; } cadena:: ~cadena (void) { delete [ ] datos; }

Escamilla Garca Brandon 12590391 ISC POO segundo semestre


Sobrecarga de mtodos y sobrecarga de operadores Cuando en una clase un mismo mtodo se define varias veces con distinto nmero de parmetros, o bien con el mismo nmero de parmetros pero diferencindose una definicin de otra en que al menos un parmetro es de un tipo diferente, se dice que el mtodo esta sobrecargado. Pueden diferir en el tipo del valor retornado. La sobrecarga de operadores se usa en las clases propias. Esto hace que utilizar un tipo de datos definido por el usuario parezca lgico y natural. Para sobrecargar un operador, se escribe una funcin que tenga el nombre del operador seguido del smbolo del operador que se va a sobrecargar. La sobrecarga de operadores hace posible la manipulacin de objetos de clases con operadores estndar como +, *, [] y <<. Bibliografa. Java 2 curso de programacin segunda edicin Fco. Javier Ceballos Programacin orientada a objetos segunda edicin Luis Joyanes Aguilar Modelado y diseo orientados a objeto metodologa OMT James Rumbaugh Java con programacin orientada a objetos y aplicaciones en la WWW Paul S. Wang

S-ar putea să vă placă și