Вы находитесь на странице: 1из 19

CREACIÓN Y USO DE OBJETOS

Ciclo de vida de los objetos

Creación. Se crea un objeto mediante el operador new


seguido del método constructor

Automovil jetta = new Automovil( );

Uso. Mediante el identificador de la variable que almacena


el Objeto y el operador punto, podemos hacer uso de los
métodos.

jetta.acelerar();

Eliminación. Al terminar la ejecución del bloque del ámbito


de la variable el recolector de basura de Java se encarga de
reciclar
la memoria.
Creación de objetos

El operador new crea un objeto, reservando en memoria el


espacio necesario para almacenar su estado, y devuelve la
referencia al objeto creado. El valor que se almacena en una
variable es la dirección en memoria del objeto.

Automovil jetta;
tipo de dato identificador;
Atributos
jetta=new Automovil(); (estado)

identificador=new constructor();

Si la referencia devuelta por el operador new referencia


no se asigna a una variable es imposible usar
el objeto posteriormente ya que se pierde.

new Automovil(); Variable


Métodos Constructores

public class Automovil{

int puertas;
boolean automatico;

public Automovil(){
puertas=2;
}

public Automovil(int puertas, boolean automatico){


this.puertas=puertas
this.autmatico=automatico;
}
}
Métodos Constructores

Los atributos con valor NO asignado en el constructor


tomaran valores por defecto.

Tipo de dato Valor por defecto


byte, short, int, long 0
char ‘\u0000’
float y double 0.0
boolean false
Object null

El operador this se usa para distinguir los atributos delos


parámetros que tienen el mismo identificador.
Métodos Constructores

Al crear un objeto se hace con el estado inicial definido en el


constructor.
new Automovil(); //Crea un automóvil estándar de dos puertas

new Automovil(4, true);//Crea un automóvil automático de cuatro puertas

Una referencia es como una variable solo puede tener un


valor a la vez, pero un objeto puede tener varias referencias.
Automovil auto=new Automovil();
Automovil carro=auto;
Automovil coche=carro;

La palabra reservada null sirve para indicar que la variable


NO esta ligada a objeto alguno.

Automovil invisible=null;
Uso de objetos

Una vez creado el objeto se puede hacer uso de sus métodos


(llamada a método) a través de la notación del punto.

jetta.acelerar();
jetta.subeVelocidad(80);
jetta.subeVelocidad(v);
jetta.ajustaVelocidad(30,60,80);
jetta.ajustaVelocidad(v1,v2,v3);

identificador.nombreDelMetodo(listaDeParametros);

En ocasiones se espera de la llamada a un método , la


obtención un resultado. Es conveniente que este se almacene
en una variable para su uso posterior.

int velocidadActual;
´….
velocidadActual= jetta.obtenerVelocidad();
Signatura o firma

Para llamar a un método es necesario conocer su signatura o


firma.

La firma de un método consta de su nombre y entre


paréntesis una lista con los parámetros que requiere para
trabajar.

La lista indica el tipo de dato y nombre del parámetro, el


orden de los parámetros está implícito en la lista.

El tipo de valor que devuelve un método no forma parte de la


firma pero es importante conocerlo ya que se debe almacenar
en una variable del mismo tipo.

La ejecución de programas es secuencial, así que cuando se


llama a un método se debe terminar su ejecución antes de
continuar con la siguiente instrucción.
Objetos para lectura y escritura

Interacción con el usuario. Solicitar datos, mostrar


mensajes o resultados.

System.out

Es un objeto predefinido en Java

No es necesario crearlo mediante el operador new.

Responde a los métodos print y println para mostrar


información en el monitor.

System.out.ptintln(“Tengo ”+ años+” de edad.”);


Objetos para lectura y escritura

Scanner

Sirve para solicitar datos al usuario a través del teclado.

Se encuentra en la biblioteca java.util por lo que se debe


importar en la parte superior del archivo mediante la
siguiente línea:

import java.util.Scanner;
import nombreDelPaquete.nombreDeLaClase

Al crear un objeto de clase Scanner se debe incluir un Objeto


System.in como parámetro.

Scanner sc=new Scanner(System.in);


Scanner
Método Descripción del resultado
boolean nextBoolean() Devuelve true o false, según lea
del teclado.
byte nextByte() Devuelve un numero entero.
double nextDouble() Devuelve un número real .
int nextInt() Devuelve un número entero.
long nextLong() Devuelve un número entero .
float nextFloat Devuelve un numero real.
short nextShort() Devuelve un numero entero.
String nextLine() Devuelve la secuencia de
caracteres leída.

Estos métodos pueden causar una excepción y


detener la ejecución del programa si el formato del
dato leído no es adecuado al tipo de dato solicitado.
Scanner
Método Descripción del resultado
boolean nextBoolean() Devuelve true o false, según lea
del teclado.
byte nextByte() Devuelve un numero entero.
double nextDouble() Devuelve un número real .
int nextInt() Devuelve un número entero.
long nextLong() Devuelve un número entero .
float nextFloat Devuelve un numero real.
short nextShort() Devuelve un numero entero.
String nextLine() Devuelve la secuencia de
caracteres leída.

Estos métodos pueden causar una excepción y


detener la ejecución del programa si el formato del
dato leído no es adecuado al tipo de dato solicitado.
String
Método Descripción del resultado

charAt(i) Devuelve el carácter en la posición indicada

equals(String s) Devuelve true si la cadena parámetro es igual a la que llama


el método.
indexOf(String s) Devuelve la posición en donde empieza la subcadena pasada
como parámetro.
length() Devuelve el numero de caracteres que tiene la cadena.

subString(int ini, int fin) Devuelve la subcadena formada por los caracteres que están
desde la posición indicada por el primer parametro hasta
una antes indicada por el segundo.
toUpperCase() Devuelve la cadena en mayúsculas.

toLowerCase() Devuelve la cadena en minúsculas.

trim() Devuelve la cadena sin los espacios en blanco del final o


inicio.

http://download.oracle.com/javase/1.5.0/docs/api/java/l
ang/String.html
Instrucción condicional

Sintaxis:

if(x>0){
System.out.println(“x es positiva”);
}

if(condición){

bloque
}
Instrucción condicional

Sintaxis:

if(x>0){
System.out.println(“x es positiva”);
}

if(condición){

bloque
}

El bloque de instrucciones se ejecuta solo si la condición es


evaluada a verdadera.
Bloque

Es un conjunto de instrucciones agrupadas entre llaves { }


con el propósito de ser tratadas como unidad.

Dentro de un bloque puede haber otros bloques.

La llave que abre se coloca al final de la instrucción que


indica su comienzo.

Las instrucción dentro del bloque llevan un nuevo margen.

La llave que cierra va al mismo nivel que la instrucción que


indica el comienzo del bloque.

if(visitas > 5){


palomitasGratis();
}
verPelicula();
Instrucción condicional if else

Sintaxis:

if(x>0){
System.out.println(“x es positiva”);
}else{
if(x<0){
System.out.println(“x es negativa”);
}else{
System.out.println(“x es cero”);
}
}

if(condición){
bloque 1
}else{
bloque 2
}
Instrucción condicional if -else

Si la condición se evalúa a true se ejecuta solo el bloque 1 y


caso de evaluarse a false se ejecuta solo el bloque 2.

Nunca se ejecutan ambos

En ambos casos la ejecución del programa continua.

if(calificacion >= 6){


System.out.println(“aprobado”);
}else{
System.out.println(“reprobado”);
}

asistirAClase();
hacerTareas();
Anidamiento

Cuando una instrucción de un bloque if es otro bloque if.

Permite tomar otra decisión mediante una condición


después de haber una decisión mediante otra condición.

int aciertos=hacerExamenBachillerato();
int promedio;
if(aciertos>=100){
System.out.println(“Felicidades entraste a la UNAM”);
promedio = estudiarBachillerato();
if(promedio<7){
aciertos = hacerExamenLicenciatura();
}

} else{
estudiarBachillerato();
aciertos = hacerExamenLicenciatura();

if(promedio>=7||entrarLicenciatura(aciertos)){
estudiarLicenciaturaUNAM();

}
continuaVida();

Вам также может понравиться