FACULTAD DE ESTUDIOS SUPERIORES ARAGON INTEGRANTES: ARRIETA OCAMPO GERARDO OMAR MONTIEL GARCIA...

Post on 23-Jan-2016

220 views 0 download

Transcript of FACULTAD DE ESTUDIOS SUPERIORES ARAGON INTEGRANTES: ARRIETA OCAMPO GERARDO OMAR MONTIEL GARCIA...

FACULTAD DE ESTUDIOS SUPERIORES ARAGON

INTEGRANTES:ARRIETA OCAMPO GERARDO OMARMONTIEL GARCIA ELIZABETH CINTHYACORTES GONZALES EDITH PAOLANIETO LOPEZ YAHIR FABIANESTRADA MORUA ERENDIRA SELENE

EQUIPO 2

CONSTRUCTORES Y DESTRUCTORES EN JAVA

CONSTRUCTOR

¿Qué es un constructor?

El constructor de una clase es un método estándar para inicializar los objetos de esa clase, es decir que sirve para dar los valores iniciales a los campos de un objeto en el momento en que se crea

El constructor se ejecuta siempre al crear un objeto. Los constructores de una clase tienen siempre el nombre de la clase y no tiene ningún valor devuelto (ni siquiera void).

Si el usuario no declara un constructor el sistema siempre crea un constructor por defecto sin argumentos.

Los constructores no se heredan.

Tipos de Constructores

CONSTRUCTOR POR DEFECTO Un constructor por defecto es un

constructor sin parámetros que no hace nada. Sin embargo será invocado cada vez que se construya un objeto sin especificar ningún argumento, en cuyo caso el objeto será iniciado con los valores predeterminados por el sistema (los atributos numéricos a ceros, los alfanuméricos a nulos, y las referencias a objetos null).

CONSTRUCTOR EXPLICITO Si se define un constructor con

parámetros, (definido explícitamente) el constructor por default se reemplaza por éste.

El constructor sin parámetros es reemplazado por el constructor explícito

Los constructores pueden estar sobrecargados, esto significa que podemos definir distintos constructores cambiando el orden, la cantidad y el tipo de parámetros que reciben

DESTRUCTORES

¿Qué es un destructor?

El destructor es un método que se activa cuando el objeto desaparece.

El destructor es único y sirve para que un objeto ejecute una acción (o grupo de acciones) antes de terminar su ciclo vital.

Normalmente loa objetos dejan de existir cuando salen de su ámbito (entorno) en donde fueron creados.

Los destructores son importantes porque se activan automáticamente, y eximen al programador de la tarea de liberar los recursos tomados por el objeto, ya que normalmente esta es la tarea ejecutada por el destructor.

En JAVA no es necesaria la definición de destructores (no existen) pues es un lenguaje que se encarga de la eliminación de la memoria ocupada por un objeto atreves de la recolección de basura.

Para este fin se crea un método, denominado finalize, con las siguientes características:

protected void finalize() throws throwable

{ … cuerpo del destructor }

Ejemplo usando metodo finalize // Cierra el canal cuando este objeto

es reciclado Protected void finalize() { close(); }

POLIMORFISMO

Permite implementar múltiples formas de un mismo método.

Cada objeto responde a un método de diferente forma según su naturaleza en la relación de herencia.

También conocida como sobrecarga.

Es un conjunto de declaraciones de métodos.

Puede definir constantes, que son implícitamente public, static y final, y deben

siempre inicializarse en la declaración.

Una interface puede derivar de otra o incluso de varias interfaces, en cuyo caso incorpora las declaraciones de todos los métodos de

las interfaces de las que deriva (a diferencia de las clases, las interfaces de Java si tiene

herencia múltiple).

Una clase puede implementar una o varias interfaces.

public class CirculoGrafico extends Circulo implements Dibujable,

Cloneable{ ....}

Una interface se declara:

interface nombre_interface {    tipo_retorno nombre_metodo ( lista_argumentos ) ;    . . . }

Por ejemplo:

interface InstrumentoMusical {    void tocar();    void afinar();    String tipoInstrumento();}

Y una clase que implementa la interface:

class InstrumentoViento extends Object implements InstrumentoMusical {    void tocar() { . . . };    void afinar() { . . .};    String tipoInstrumento() {}}

class Guitarra extends InstrumentoViento {    String tipoInstrumento() {        return "Guitarra";    }}