constructor y destructor

18

Upload: tecnologico

Post on 07-Jul-2015

28.668 views

Category:

Design


0 download

DESCRIPTION

Informacion de programacion

TRANSCRIPT

Page 1: Constructor Y Destructor
Page 2: Constructor Y Destructor

El constructor es un tipo específico de método que siempre tiene el mismo nombre que la clase y se utiliza para construir objetos de esa clase. no tiene tipo de dato específico de retorno, ni siquiera void. Esto se debe a que el tipo específico que debe devolver un constructor de clase es el propio tipo de la clase.

Page 3: Constructor Y Destructor

Si una clase no declara ningún constructor, Java incorpora un constructor por defecto (denominado constructor no-args) que no recibe ningún argumento y no hace nada.Si se declara algún constructor, entonces ya no se puede usar el constructor no-args. Es necesario usar el constructor declarado en la clase.El constructor no-args sería:class Punto {    int x , y ;    Punto ( ) { }}

Page 4: Constructor Y Destructor

El constructor se invoca automáticamente cuando new crea un objeto de esa clase.

Características:

Se llama igual que la clase. No devuelve nada, ni siquiera void. Pueden existir varios, pero siguiendo las reglas de la sobrecarga de funciones. De entre los que existan, tan sólo uno se ejecutará al crear un objeto de la clase. Dentro del código de un constructor generalmente suele existir inicializaciones de variables y objetos, para conseguir que el objeto sea creado con dichos valores iniciales.

Page 5: Constructor Y Destructor

Un destructor es un método cuyo objetivo es el de eliminar toda la memoria que ocupó un objeto. En java no es necesaria la definición de destructores, pues el mismo lenguaje se encarga de la eliminación y liberación de la memoria ocupada por un objeto, esto se realiza cada vez que un objeto pierde todas sus referencias.

Page 6: Constructor Y Destructor

// Cierra el canal cuando este objeto es reciclado protected void finalize() { close(); }

Page 7: Constructor Y Destructor

[modifVisibilidad] nombreConstructor (listaParámetros)

{

}

Page 8: Constructor Y Destructor

Constructor por defecto

Si no se define ningún constructor de una clase, el compilador generará un constructor por defecto. El constructor por defecto no tiene argumentos y simplemente sitúa ceros en cada byte de las variables instancia de un objeto. Si se definen constructores para una clase, el constructor por defecto no se genera.

Page 9: Constructor Y Destructor

Constructor de copia

El constructor de copia se utilizan para inicializar un objeto con otro objeto de la misma clase.

Constructor común

El constructor común es aquel que recibe parámetros para asignarles como valores iníciales a los datos miembros, o sea que al crear la instancia, se pasó unos parámetros para inicializar

Page 10: Constructor Y Destructor

Argumentos: En un método sobrecargado los argumentos deben de cambiar.

El tipo de retorno: En un método sobrecargado el tipo de retorno puede cambiar.Excepciones: En un método sobrecargado las excepciones pueden cambiar,.

Acceso: En un método sobrecargado puede cambiar, en un método sobreescrito el acceso NO debe de hacerse más restrictivo(puede ser menos restrictivo).

Al invocar: En un método sobrecargado los argumentos son los que determinan qué método es el que se invocará.

Page 11: Constructor Y Destructor

a).- De instancia .- Para crear e inicializar instancias de una clase.b).- Privado.- Un tipo especial de constructor de instancia que no es accesible desde fuera de la clase. Una clase con un constructor privado no puede ser instanciada (No se pueden crear objetos de esa clase). c).- Estático.- Invocado automáticamente para inicializar la clase antes de que sea creada la primera instancia o que sea referenciado cualquier campo estático. El constructor no puede ser invocado directamente.

 

Page 12: Constructor Y Destructor

Pueden ser públicos o privados, según si se declaran:

si es publico se llama desde cualquier parte del programa para destruir el objeto.

si es privado no se permite la destrucción del objeto por el usuario.

Page 13: Constructor Y Destructor

Las conversiones nos permiten que una expresión de un tipo sea tratada como una expresión de otro tipo, dichas conversiones pueden ser implícitas o explícitas.

Page 14: Constructor Y Destructor

Se llaman métodos sobrecargados a métodos con el mismo nombre en una clase. Para saber qué método se ejecuta cuando se le llama, se decide por el tipo de los parámetros que se le pasan.

Java diferencia los métodos sobrecargados con base en el número y tipo de argumentos que tiene el método y no por el tipo que devuelve.

Page 15: Constructor Y Destructor

La sobrecarga de operadores es uno de los mecanismos que nos permite ampliar las capacidades de los lenguajes de programación orientados al objeto.

Page 16: Constructor Y Destructor

Por ejemplo la conversión de un tipo int a long es implícita, sin embargo la conversión de un tipo long a un tipo int es explícita, esto debido a que un int puede ser expresado en formato long sin que haya perdida de precisión en la operación, sin embargo si intentamos convertir un numero long a int puede haber perdida de precisión y se necesita una conversión explícita, es como una forma de obligarnos a demostrar que estamos conscientes de que existe tal perdida de precisión y en verdad es muy útil.

Page 17: Constructor Y Destructor

Vamos a suponer que se tienen las variables: int A, B; double X, Y; int R; y las siguientes instrucciones:R = A + B;R = A + X;R = X + Y;

Page 18: Constructor Y Destructor

http://www.mitecnologico.com/Main/TiposConstructoresDestructores

http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Sobrecarga_de_Operadores

 

http://linux.iingen.unam.mx/pub/Documentacion/ProjectoMono/Seminario/constructores.html