Anda di halaman 1dari 19

UNIVERSIDAD JOSE CARLOS MARIATEGUI

ESCUELA DE INGENIERA DE SISTEMAS E INFORMTICA

POO con Java


Profesor Ing. Euler Tito Chura
eulertito@hotmail.com

CONSTRUCTORES
y
Garbage Collector

Ing. Euler Tito Chura

CONSTRUCTORES

Las clases pueden implementar un mtodo especial


llamado constructor.

Un constructor es un mtodo que inicializa un objeto


inmediatamente despus de su creacin.

De esta forma nos evitamos el tener que iniciar las


variables explcitamente para su inicializacin.

Ing. Euler Tito Chura

CONSTRUCTORES

El constructor tiene exactamente el mismo nombre de


la clase que lo implementa.
Una vez definido, el constructor se invocar
automticamente al crear un objeto (al utilizar el
operador new).

Ing. Euler Tito Chura

CONSTRUCTORES

El constructor no devuelve ningn tipo, ni siquiera


void, pero puede recibir parmetros.
Su misin es iniciar todo estado interno de un objeto
(sus atributos), haciendo que el objeto sea utilizable
inmediatamente.

Britney Spears

Nombre?
CONSTRUCTOR
Edad?

20

Ing. Euler Tito Chura

CONSTRUCTORES
public class Alumno
{
private int edad;
private String nombre;
public Alumno ()
{
edad=20;
nombre=Jos Luis Carranza;
}
public void setEdad (int ed)
{
edad=ed;
}
}
Ing. Euler Tito Chura

CONSTRUCTORES SOBRECARGA

Significa tener varios constructores, pero


diferente cantidad y/o tipo de parmetros.

con

Alumno()
(){{
Alumno
edad=20;
edad=20;
nombre=JosLuis
LuisCarranza;
Carranza; }}
nombre=Jos
Alumno(int
(inted)
ed){{
Alumno
edad=ed;
edad=ed;
nombre=JosLuis
LuisCarranza;
Carranza; }}
nombre=Jos
Alumno(int
(inted,
ed,String
Stringnom)
nom){{
Alumno
edad=ed;
edad=ed;
nombre=nom; }}
nombre=nom;
Ing. Euler Tito Chura

CONSTRUCTORES SOBRECARGA
public class Alumno
{
private int edad;
private String nombre;
Alumno ()
{
edad=20;
nombre=Jos Luis Carranza;
}
Alumno (int ed)
{
edad=ed;
nombre=Jos Luis Carranza;
}

S
O
B
R
E
C
A
R
G
A

Ing. Euler Tito Chura

CONSTRUCTORES SOBRECARGA

public void setEdad (int ed)


{
edad=ed;
}
public void setNombre (String nom)
{
nombre=nom;
}
public void setTodo (int ed, String nom)
{
edad=ed;
nombre=nom;
}
}
Ing. Euler Tito Chura

Garbage Collector

Ing. Euler Tito Chura

Garbage Collector

Cuando finaliza el uso de un objeto, es frecuente la


realizacin de ciertas tareas antes de su destruccin,
principalmente la liberacin de la memoria solicitada
durante su ejecucin.
Esto se realiza en C++ y otros lenguajes OO con los
destructores.
MEMORIA
LIBERADA
MEMORIA
OCUPADA

DESTRUCTOR
Ing. Euler Tito Chura

Garbage Collector

Sin embargo, en Java la liberacin de memoria se


realiza de manera automtica por parte del garbage
collector (recolector de basura).

L IB E
RAC
OBJETO NO USADO (LIBERADO)
POR EL PROGRAMA

IN

DE M
EMO
RI A

Ing. Euler Tito Chura

ATRIBUTOS Y MTODOS DE CLASE

Ing. Euler Tito Chura

ATRIBUTOS DE CLASE

Se crea una sola copia del atributo para cualquier


objeto que se cree a partir de la clase.

Se utiliza generalmente como contador.

Se declara en Java utilizando la palabra static.

public class Ejemplo1{


private static int contador = 0;
private int numero;

public Ejemplo(){
contador++;
}

Ing. Euler Tito Chura

ATRIBUTOS DE CLASE
contador 1

A
Ejemplo1
contador

12
3

contador 2

contador 3

Ing. Euler Tito Chura

MTODOS DE CLASE

Son mtodos que pueden ser invocados sin necesidad


de crear instancias. Se declaran en Java utilizando la
palabra static.
Si manipulan atributos o si invocan mtodos, slo
pueden hacerlo con aquellos declarados como static.

Ing. Euler Tito Chura

MTODOS DE CLASE
public class Ejemplo2{
private int numero1;
private static int numero2;
public void metodo1(){
numero2++;
}
public static void metodo2(){
numero1++;
}

public static int metodo3(){


int x, z = 10;
x = numero2 + z;
return x;
}
Ing. Euler Tito Chura

EJERCICIO

Realice el programa de la calculadora


(Prctica Domiciliaria I 5ta pregunta),
asegurndose
de
poder
invocar
las
operaciones
sin
necesidad
de
crear
instancias.

Ing. Euler Tito Chura

GRACIAS POR SU ATENCIN


Preguntas?

Ing. Euler Tito Chura

Anda mungkin juga menyukai