Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de clases
3.0
Conceptos principales
a abordar
• campos
• constructores
• métodos
• parámetros
• asignación
• sentencia condicional
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 2
Ticket machines – una vista
externa
• Explorando el comportamiento de
una maquina de boletos típica.
– Usar el proyecto naive-ticket-machine.
– Las maquina proveen tickets de precio
fijo.
• Como es determinado el precio?
• Como es el dinero ingresado en la maquina?
• Como mantiene registro del dinero
ingresado?
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 3
Ticket machines – una vista
externa
Demo
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 4
Ticket machines – una vista
interna
• La interacción con un objeto nos da
pistas sobre su comportamiento (caja negra).
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 6
Estructura de la clase
El envoltorio de
public class TicketMachine
{ TicketMachine
Parte interna de la clase omitida.
}
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 7
Campos
• Use la opción
Inspeccionar para ver
modificador de tipo nombre de
los campos de un visibilidad variable
objeto.
• Los campos definen el private int price;
estado de un objeto.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 8
Constructores
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 9
Pasando datos por parametros
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 10
Asignación
• Los valores son almacenados en los
campos (y otras variables) a través de
las sentencias de asignación:
– variable = expresión;
– price = ticketCost;
• Una variable alamcena un valor
simple, por lo que cualquier valor
previo se pierde.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 11
Métodos de acceso
• Los métodos implementan el comportamiento
de los objetos.
• Los métodos de acceso proveen información
sobre un objeto.
• Los métodos tienen una estructura que
consiste de un encabezado y un cuerpo.
• El encabezado define la signatura de un
método. public int getPrice()
• El cuerpo encierra las sentencias del método.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 12
Métodos de Acceso
tipo de
modificador de nombre del
retorno
visibilidad método lista de
parámetros
public int getPrice() (vacía)
{
return price; sentencia return
}
comienzo y fin del cuerpo
del método (block)
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 13
Métodos de modificación
• Tienen una estructura de método
similar: encabezado y cuerpo.
• Usados para modificar (i.e., cambiar,
mutar) el estado de un objeto.
• Estos lo logra cambiando el valor de
uno o mas campos.
– Generalmente contienen sentencias de
asignación.
– Generalmente reciben parámetros.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 14
Métodos de modificación
modificador de tipo de
visibilidad retorno nombre del
método parámetro
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 15
Impresión desde los métodos
public void printTicket()
{
// Simula la impresion de un ticket.
System.out.println("##################");
System.out.println("# The BlueJ Line");
System.out.println("# Ticket");
System.out.println("# " + price + " cents.");
System.out.println("##################");
System.out.println();
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 16
Practica...
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 17
Reflexionados sobre las
maquinas (ticket machines)
• Su comportamiento es inadecuado en
varios sentidos:
– No verifica el importe ingresado (>precio?).
– No da vuelto (si paga de mas).
– No verifica precio en la inicialización (> 0?).
• Como se podría hacer mejor?
– Necesitamos un comportamiento mas
sofisticado.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 18
Mejorando la Maquina de
Boletos
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 19
Haciendo elecciones
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 20
Haciendo elecciones
condición booleana
‘if’ keyword a ser testeada
acciones si la condición
es verdadera (true)
acciones si la condición
‘else’ keyword
es falsa(false)
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 21
Variables locales
• Los campos son un tipo de variable.
– Almacenan valores durante la vida del objeto.
– Son accesibles en toda la clase.
• Los métodos pueden incluir variables de
vida mas corta.
– Existen solo mientras el método esta siendo
ejecutado.
– Son solo accesible desde dentro el método.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 22
Variables locales
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 23
Revisión
• El cuerpo de las clases contienen
campos, constructores y métodos.
• Los campos almacenen valores que
determinan el estado de un objeto.
• Los constructores inicializan los
objetos.
• Los métodos implementan el
comportamiento de los objetos.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 24
Revisión
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 25
Revisión
• Los objetos pueden hacer decisiones
a través de la sentencia condicional
(if).
• Un testeo verdadero (true) o falso
(false) permite tomar uno de los dos
cursos de acción.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 26
Practica
• Lo visto hasta aquí corresponde a las
secciones 2.11 a 2.14 del libro.
Objects First with Java - A Practical Introduction using BlueJ, © David J. Barnes, Michael Kölling 27