Constructores en java(grupo 8)

13
1 CONSTRUCTORES EN JAVA CHANCUSIG MANUEL GOMEZ HENRY ORDOÑEZ CARLOS GRUPO DE EXPOSICION 8

Transcript of Constructores en java(grupo 8)

Page 1: Constructores en java(grupo 8)

1

CONSTRUCTORES EN JAVA

CHANCUSIG MANUEL GOMEZ HENRYORDOÑEZ CARLOSGRUPO DE EXPOSICION 8

Page 2: Constructores en java(grupo 8)

2

INTRODUCCCIONLa programación "insegura" uno de los mayores culpables del encarecimiento de la programación.

Dos de estos aspectos de seguridad son la inicialización y la limpieza.

C++ introdujo el concepto de constructor

Java también adoptó el constructor, y proporciona un método que libera automáticamente recursos de memoria cuando dejan de ser utilizados, se llama garbage collector.

Page 3: Constructores en java(grupo 8)

3

Pasos para la inicialización

1.- Java inicializa siempre con valores por defecto las variables que son miembros de la clases, métodos.2.- El segundo paso para la inicialización correcta de objetos es el uso de constructores.3.-Java todavía dispone de una tercera línea de actuación para evitar que haya variables sin inicializar correctamente. Son los inicializadores.

Java no permite que haya variables miembro que no estén inicializadas

VARIABLES NUMERICAS (PRIMITIVO) SE ESTABLECEN EN CEROVARIABLES BOOLEAN SE ESTABLECEN EN FALSOVARIABLES DE REFERENCIA SE ESTABLECEN EN NULL

Page 4: Constructores en java(grupo 8)

4

DEFINICION

El constructor de una clase es un tipo específico de método (especial y estándar) que se usa para inicializar los objetos de esa clase. Es una función que se ejecuta automáticamente siempre al crear un objeto.

La principal misión del Constructor es reservar memoria e inicializar la variable miembro de la clase

En general, se los utiliza para inicializar los estados de las variables de instancia

Page 5: Constructores en java(grupo 8)

5

Incluya Constructores en la declaracion de una Clase, para asegurar que las variables de instancia de la clase contengan valores válidos cuando se creen objetos de esa clase

TIPOS DE CONSTRUCTORES

1. Constructor por defecto (no-args)2. Constructor de copia3. Constructor común(personalizado)

Page 6: Constructores en java(grupo 8)

6

CARACTERISTICASJava invoca al constructor al crear el objeto.

Los Constructores no tienen valor de retorno (ni siquiera void).

Su nombre es el mismo que el de la clasePueden usarse cualquier modificador de accesoSe puede definir cero, uno o más constructores

Si ya tenemos un constructor con argumentos, no se generará uno sin argumentos automáticamente.

Page 7: Constructores en java(grupo 8)

7

DECLARACION DEL CONSTRUCTOR (SINTAXIS)

Nombre de la clase •public class Ventas {

Declaracion de la Variable •private double precio;

Modificador de Acceso

public

preciocontado=(precio*0.12)+precio;

System.out.println("El Precio al Contado es ;"+preciocontado);

}

sentencias

}

Page 8: Constructores en java(grupo 8)

8

LLAMADA AL CONSTRUCTOR

nombreClase

El constructor se invoca automáticamente cuando new crea un objeto de esa clase.objeto es una variable de referencia.La instancia (new) reserva el lugar de almacenamiento e invoca al constructor.

Page 9: Constructores en java(grupo 8)

9

REFERENCIA THISSi un parámetro tiene el mismo identificador (nombre) que una variable de instancia se usa la palabra clave “this” para identificar cual es la variable de instancia:

• Referencia al objeto actual.• Permite invocar métodos del objeto actual.• Permite referenciar atributos del objeto actual• Permite devolver una referencia al objeto actual• Permite invocaciones entre constructores • Al acceder a variables de instancia de una clase, la

palabra clave this hace referencia a los miembros de la propia clase

public class Pelicula { private String titulo; public void setTitulo(String titulo) { this.titulo = titulo;

} }

Page 10: Constructores en java(grupo 8)

10

REFERENCIA SUPERLa nueva clase hereda de la primera todos los métodos y los atributos

•Se usa para invocar constructores de la clase padre •Debe ser la primera sentencia del constructor de la clase hijo•Esta referencia también se usa para invocar cualquier método del padre.•Si la superclase no tiene un constructor sin argumentos, se deberás definir un constructor en la subclase .

class Animal {Animal(String name) { }}class Caballo extends Animal {Horse() {super(); // error}} super() llama al constructor de la clase de la que se hereda (extends).

Recuerda que todas las clases heredan en última instancia a la clase Object.

Page 11: Constructores en java(grupo 8)

11

GARBAGE COLLECTORSe refiere a la limpieza de instancias (Objetos). Este proceso llevado a cabo directamente por el JVM ("Java Virtual Machine") permite liberar recursos, en su mayoría de memoria ("RAM") para ser reutilizados por el sistema

•Toda instancia/referencia que sea asignada un valor de null es elegible para "Garbage Collection"•El JVM se hace cargo de iniciar el proceso de "Garbage Collection" únicamente cuando determine que su memoria esta en proceso de agotamiento•Recorre la lista de espacios reservados observando el contador de referencias de cada espacio. Si un contador ha llegado a cero significa que ese espacio de memoria ya no se usa y, por tanto, puede ser liberado.

Page 12: Constructores en java(grupo 8)

12

Memoria en Java•Cuando se invoca el JVM para ejecutar una aplicación, pedirá al sistema operativo suficiente memoria para ejecutar la JVM propiamente dichas y algo de memoria libre para que la aplicación pueda crear nuevos objetos.

•Cuando se crea un nuevo objeto, la JVM reservará memoria para ese objeto dentro del área de memoria libre.

•Cuando el área de memoria libre se vuelve demasiado pequeño, la JVM pedirá al sistema operativo más memoria.

•Cuando un objeto no se utiliza más, será destruido. Su memoria será liberada y devuelta al área de memoria libre.

Page 13: Constructores en java(grupo 8)

13