Está en la página 1de 6

Ingeniera en Sistemas Computacionales

Programacin Orientada a Objetos


Tarea 2
Balleza Garca Viridiana N Control: 12590386

Mtodo constructor y mtodo destructor. Definicin. Constructores: mtodo para crear un nuevo objeto de la clase. Destructores: mtodo para eliminar un objeto de una clase. Los constructores son mtodos especiales que se ejecutan cuando se crea un objeto y que se utilizan para iniciar las propiedades del objeto. Los constructores no tienen valor de retorno (en realidad devuelven una referencia al objeto que se crea). Los constructores se distinguen porque tienen el mismo nombre que la clase a la que pertenecen y como todos los mtodos pueden tener parmetros. Adems, una clase puede tener varios constructores, aunque no puede tener dos constructores que reciban los mismos parmetros (el mismo nmero de parmetros, de los mismos tipos y en el mismo orden). Si en el cdigo fuente de una clase no se define ningn constructor, Java al compilar, aade un constructor por defecto vaco que no tiene parmetros. Este constructor es preciso para poder crear objetos de la clase. Cuando en el cdigo de una clase se define uno o ms constructores Java no aade ningn constructor por defecto. Un constructor es un mtodo perteneciente a la clase que posee unas caractersticas especiales: Se llama igual que la clase. No devuelve nada, ni siquiera void. Pueden existir varios, pero siguiendo las reglas el mismo nmero de parmetros, de los mismos tipos y en el mismo orden. De entre los que existan, tan slo uno se ejecutar al crear un objeto de la clase. Dentro del cdigo de un constructor generalmente suele existir inicializaciones de variables y objetos, para conseguir que el objeto sea creado con dichos valores iniciales. La destruccin de objetos se realiza de manera automtica mediante un

Ingeniera en Sistemas Computacionales


Programacin Orientada a Objetos
Tarea 2
Balleza Garca Viridiana N Control: 12590386

mecanismo conocido como la recoleccin de basura. La mquina virtual de Java revisa de manera peridica los bloques de memoria reservados buscando aquellos que no estn siendo referenciados por ninguna variable para liberarlos. La tarea que realiza esta operacin se llama recolector de basura (garbage colector) y se ejecuta en segundo plano intentando aprovechar los tiempos de baja intensidad de proceso. Declaracin (sintaxis). Para definir los constructores se emplea la siguiente sintaxis: [modifVisibilidad] nombreConstructor (listaParmetros) { Cuerpo del constructor } Dnde: Para modifVisibilidad se aplica las mismas normas que para atributos y mtodos: public: indica que es un mtodo accesible a travs de una instancia del objeto. private: indica que a travs de una instancia no es accesible el mtodo. Al heredar no se puede usar desde la clase derivada. protected: indica que a travs de una instancia no es accesible el mtodo. Al heredar si se puede usar desde la clase derivada. Sin especificar: indica visibilidad de paquete, se puede acceder a travs de una instancia, pero slo de clases que se encuentren en el mismo paquete. nombreConstructor debe de coincidir con el nombre de la clase. listaParmetros es la lista de los parmetros que tomar la funcin separados por comas y definidos cada uno de ellos como: Tipo, nombre y Parmetro

Ingeniera en Sistemas Computacionales


Programacin Orientada a Objetos
Tarea 2
Balleza Garca Viridiana N Control: 12590386

El constructor posee un par de llaves, dentro de las cuales estar el cdigo que se ejecutar al ser llamada la funcin. Dicho cdigo estar formado por instrucciones vlidas en el lenguaje, finalizadas generalmente por punto y coma.

Ejemplo. Uso de un constructor con dos parmetros. using System; using C = System.Console; class Persona { private string nombre; private int edad; public Persona( string n, int e) { nombre = n; edad = e; } public string daNombre( ) { return nombre; } public int daEdad( ) {

return edad ; } } public class Principal

Ingeniera en Sistemas Computacionales


Programacin Orientada a Objetos
Tarea 2
Balleza Garca Viridiana N Control: 12590386

{ public static void Main( ) { Persona p = new Persona( "Luis", 25) ; C.WriteLine("Nombre: {0} , Edad: {1}", p.daNombre(), p.daEdad()); } }

Sobrecarga de mtodos y sobre carga de operadores En qu consiste? Sobrecarga de mtodos. Una de las ventajas del lenguaje de programacin es que nos permite definir dos o ms mtodos dentro de la misma clase con el mismo nombre, siempre que la declaracin de sus parmetros sea diferente. En este caso se dice que el mtodo est sobrecargado y el proceso de definir un mtodo as se conoce como sobrecarga del mtodo. La sobrecarga de mtodos es una de las maneras en que Java implementa el polimorfismo. Cuando se llama a un mtodo sobrecargado, el compilador acta justo sobre la versin cuyo tipo de parmetros coincida con los de la llamada. No existe una regla exacta par saber si un mtodo se debe sobrecargar o no. Realmente, la idea es aprovechar las ventajas que ofrece esta forma de polimorfismo, as que lo normal es sobrecargar aquellos mtodos que estn intrnsecamente relacionados. Sobrecarga de Constructores. Es aqu donde realmente se aprecia los beneficios del polimorfismo. Como sabemos, el constructor de una clase es el que inicializa los valores que el programador crea conveniente cuando sta se instancia. Pues bien, sobrecargando el constructor conseguimos dotar a la clase de flexibilidad. Por

Ingeniera en Sistemas Computacionales


Programacin Orientada a Objetos
Tarea 2
Balleza Garca Viridiana N Control: 12590386

ejemplo, como mnimo se debera tener en cuenta que podra no pasrsele parmetros al constructor, cuando ste lo espera, debido a un fallo en alguna otra parte de la aplicacin. Es por ello que siempre es recomendable definir al menos dos constructores: el especfico de la aplicacin que estemos diseando y el "estndar".

Para qu sirve? Sobrecarga de mtodos y constructores. Los mtodos y constructores de una clase en Java pueden ser sobrecargados. La sobrecarga se refiere a la habilidad de permitirles a mtodos diferentes o constructores de una clase compartir el mismo nombre. Se dice que el nombre es sobrecargado para propsitos mltiples. Reglas de sobrecarga: Dos mtodos o constructores en la misma clase pueden compartir el mismo nombre solo si tiene parmetros diferentes. Cuando un mtodo sobrecargado es llamado, se usan l nmero y los tipos de argumentos para determinar el mtodo que se invocara. Sobrecarga de operadores: En java la sobrecarga de operadores solos se da para operaciones incorporadas sobre los tipos de datos primitivos, por ejemplo los operadores aritmticos ( + , - , * , / ) se sobre cargan en todos los tipos numricos. La nica excepcin es que el operador + tambin tiene sobrecarga en la clase String para la concatenacin. En java no se permiten otro tipo de sobrecargas de operadores que las mencionadas. Se debe tener en cuenta que la sobrecarga es una conveniencia y no una necesidad, la misma funcionalidad puede lograrse sin el uso de la sobrecarga, por lo que se debe tener mucho cuidado en no abusar de la sobrecarga, que dificultara la legibilidad del programa.

Ingeniera en Sistemas Computacionales


Programacin Orientada a Objetos
Tarea 2
Balleza Garca Viridiana N Control: 12590386

Bibliografa. 1.- Fundamentos de programacin c / c ++, Ernesto Pealoza Romero, 4 ta Edicin Alfaomega 2.- JAVA. Con programacin Orientada a Objetos, Paul S. Wang. 3. - An introduction to Object- Oriented Programming. Timothy Budd. Addison Wesley Publishing Company. 4. - Programacin con java. Segunda edicion. Decker Hirshfield.

También podría gustarte