Constructor Y Destructor
Upcoming SlideShare
Loading in...5
×
 

Constructor Y Destructor

on

  • 26,243 views

Informacion de programacion

Informacion de programacion

Statistics

Views

Total Views
26,243
Views on SlideShare
26,240
Embed Views
3

Actions

Likes
1
Downloads
342
Comments
1

2 Embeds 3

http://127.0.0.1 2
http://www.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • muy buena la explicacion me saco varias dudas pero como se pasa un objeto por parametro? por ejemplo tengo la clase EDAarrayEnteros y tengo que pasarle al constructor un objeto de ese tipo por parametro obviamente.. agradeceria tu respuesta...
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Constructor Y Destructor Constructor Y Destructor Presentation Transcript

  •  
    • 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.
    • 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 ( ) { } }
    • 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.
    • 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.
    • // Cierra el canal cuando este objeto es reciclado
    • protected void finalize() {
    • close();
    • }
    • [modifVisibilidad] nombreConstructor (listaParámetros)
    • {
    • }
    • 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.
    • 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
    • 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á.
    • 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.
    •  
    • 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.
    • 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.
    • 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.
    • La sobrecarga de operadores es uno de los mecanismos que nos permite ampliar las capacidades de los lenguajes de programación orientados al objeto .
    • 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.
    • 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;
    • 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