Está en la página 1de 13

Elementos del Lenguaje

Profesora Yasna Meza Hidalgo


mailto: ymeza@ubiobio.cl

Yo tengo un nombre Yo tengo un nombre


y una edad y una edad

Yo tengo un nombre
y una edad
Yo tengo un nombre
y una edad

Todos los empleados tienen el mismo sueldo base,


equivalente a $140.000

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 2

Yasna Meza Hidalgo 1


En el ejemplo anterior, se dice que la
característica de SUELDO BASE es un dato de clase.

¿Qué
características
tiene un dato de
clase?

Declarados con la palabra reservada


static.
Almacenados en el sector STATIC de la
RAM.
Son cargados en memoria antes que una
instancia de clase sea creada.

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 3

¿Cómo se crea un
objeto?

Declaración de la variable de referencia


y llamada al operador new.
Inicialización por defecto de los datos
del objeto según el tipo de dato.
Inicialización explícita.
Llamada al método constructor.
Asignación de la dirección de memoria del
objeto creado a la variable de
referencia.

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 4

Yasna Meza Hidalgo 2


¿Qué significa declarar
la variable de
referencia?

Declaración de la variable

Variable de
PERSONA referencia
Persona a;
Nombre a
Edad

darNombre
darEdad Nombre

Edad
Se encuentra dentro
del HEAP

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 5

¿Cuál es el rol de
operador new?

PERSONA Persona a;
Nombre
a = new Persona()
Edad

darNombre
darEdad
Creación de un objeto

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 6

Yasna Meza Hidalgo 3


¿Cuál es el rol de
operador new?

HEAP a

Nombre

Edad

a = new Persona()

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 7

¿Qué significa la
inicialización?

Inicialización es ASIGNARLE un valor a


una variable o identificador.

int x;
x = 29;
Declaración de
la variable
Inicialización
de la variable

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 8

Yasna Meza Hidalgo 4


¿Qué significa la
inicialización por
defecto?

Darle los valores a los atributos del


objeto de acuerdo a su tipo de dato.

HEAP a

Nombre
Es de tipo
Edad
String

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 9

¿String es de tipo
primitivo?, ¿cuál
será, entonces, su
valor por defecto?

HEAP a

Nombre
Es de tipo
Edad
String

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 10

Yasna Meza Hidalgo 5


¿int es de tipo
primitivo?, ¿cuál
será, entonces, su
valor por defecto?

HEAP a

null

Edad
Es de tipo int

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 11

¿int es de tipo
primitivo?, ¿cuál
será, entonces, su
valor por defecto?

HEAP a

null

0
Es de tipo int

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 12

Yasna Meza Hidalgo 6


¿Qué significa la
inicialización
explícita?

Consiste en asignarle un VALOR ESPECÍFICO


a un atributo.

nombre = “Pierre NoDoyUna”;


edad = 26;

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 13

¿Qué es un método
constructor?

Forma parte de la funcionalidad de una


clase (lo que pueden hacer los objetos).
Permite crear a los objetos y lo solicita
el operador new.
DEBE llevar el mismo nombre de la clase.

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 14

Yasna Meza Hidalgo 7


¿Qué es un método
constructor?

PERSONA Persona a;
Nombre
a = new Persona()
Edad

darNombre
darEdad

Constructor

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 15

¿Qué características
tiene un dato de
método?

Variables definidas dentro del método


(incluidos sus argumentos).
Almacenados en el sector STACK de la memoria
RAM.
Disponibles SÓLO durante la ejecución de
método.
Disponibles dentro del cuerpo del método. No
accesible desde otros métodos.
DEBEN ser inicializadas explícitamente por el
programador.

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 16

Yasna Meza Hidalgo 8


¿Qué son los
argumentos de un
método?

Entradas (datos) que el método requiere para


cumplir su función.

Supongamos que se requiere de


un método que calcule el
promedio de dos números.

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 17

¿Cuáles son las


entradas del método?

Resultado
Operando 1
Promedio
PROMEDIO de
operandos

Operando 2

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 18

Yasna Meza Hidalgo 9


Resultado
Operando 1
Promedio
PROMEDIO de
Operando 1

Operando 2 y
Operando 2

Parámetros del
método

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 19

Resultado
Operando 1
Promedio
PROMEDIO Operando 1
y
Operando 2
Operando 2

Se requieren las acciones


necesarias para obtener el
resultado

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 20

Yasna Meza Hidalgo 10


¿Cuáles son las
acciones asociadas al
método?

Operando 1
Resultado
PROMEDIO
Promedio

Operando 2 Obtener la suma

Dividir por 2

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 21

Se requiere de un
cálculo intermedio
antes de calcular el
promedio, ¿Dónde se
guarda ese cálculo
intermedio?

Operando 1
Resultado
PROMEDIO
Promedio

Operando 2 Obtener la suma

Dividir por 2

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 22

Yasna Meza Hidalgo 11


Operando 1
Resultado
PROMEDIO
Promedio

Operando 2 Obtener la suma

Dividir por 2

Se requiere de un
IDENTIFICADOR para guardar
el resultado parcial

TODOS los identificadores que se


definan dentro de un método son
LOCALES al método.

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 23

¿Cuáles son los


elementos que se pueden
definir en Java?

Una clase, método o variable.


Cada uno de estos elementos DEBE tener asociado
un modificador.

¿Cuáles son los


modificadores que
existen?

Control de acceso
Cuantificadores

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 24

Yasna Meza Hidalgo 12


¿En qué consiste el
control de acceso?

Define el nivel de acceso de la clase, método o


variable.
¿Qué tipos de
accesores existen?

private
public
protected
default (blanco)

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 25

¿Para qué se utiliza un


cualificador?

Define el estado de la variable, clase o


método.
¿Qué tipos de
cualificadores existen?

static
final

Marzo 2006 Profesora Yasna Meza Hidalgo Diapositiva 26

Yasna Meza Hidalgo 13