Entendiendo la definición de
clases
Corina Flores Villarroel
[email protected]
Corina Flores V
UMSS - Programa MEMI
Contenidos
• Elementos básicos en la definición de clases
• Campos
• Constructores
• Parámetros
• Métodos
• Sentencias de asignación y condicionales
Corina Flores V
UMSS - Programa MEMI
Introducción
• Lee el siguiente enunciado:
El parque vial de nuestra ciudad, cuenta con un tren para pasear por
sus dependencias, si un visitante esta interesado en pasear, todo lo que
debe hacer es, colocar al momento de ingresar en una máquina
registradora monedas como forma de pago por el servicio.
Inmediatamente, la máquina registradora le imprimirá un ticket como
respuesta y acumulará el monto de las monedas ingresadas. OJO, aquí
se asume que el visitante y la máquina son sensibles al precio del
paseo.
Corina Flores V
UMSS - Programa MEMI
Definiendo la clase
• Recuerda! que, antes de escribir una línea de
código, primero debes COMPRENDER el
problema
El parque vial de nuestra ciudad, cuenta con un tren para
pasear por sus dependencias, si un visitante esta interesado
en pasear, todo lo que debe hacer es, colocar al momento
de ingresar en una monedas
como forma de pago por el servicio. Inmediatamente, la
máquina registradora le imprimirá un ticket como
respuesta y acumulará el monto de las monedas
ingresadas.
Máquina registradora
Corina Flores V
UMSS - Programa MEMI
Definiendo la clase
• Veamos qué tenemos (Análisis):
máquina registradora
• ¿Con qué datos de entrada contamos?
• Precio
• Acumulador
• Total
• ¿Qué sabe hacer?
• Obtener el precio
• Obtener el monto acumulado
• IngresarMoneda
• ImprimirTicket()
UMSS - Programa MEMI
Corina Flores V
Definiendo la clase
• Modelo gráfico (diseño):
MaquinaRegistradora
precio
acumulador
total
obtenerPrecio()
obtenerMontoAcum()
ingresarMoneda()
imprimirTicket()
Corina Flores V
UMSS - Programa MEMI
Campos
• Traducir a código (implementar):
C
a
m
p
o
s
public class MaquinaRegistradora
{
// El precio del ticket.
private int precio;
// El monto de monedas ingresadas por cada visitante.
private int acumulador;
// Guardará el total de monedas ingresadas.
private int total;
Almacenan datos para un objeto. Tambien se conocen como
instancias de variables
Corina Flores V
UMSS - Programa MEMI
Constructor
Constructor
public MaquinaRegistradora(int costo)
{
precio = costo;
acumulador = 0;
total = 0;
}
Permite a cada objeto inicializar sus valores
apropiadamente cuando éste es creado.
Corina Flores V
UMSS - Programa MEMI
Sentencia de asignación
public MaquinaRegistradora(int costo)
{
precio = costo;
acumulador = 0;
total = 0;
}
La sentencia de asignacion, esta representado por el operador =
y realiza la siguiente operacion: Toma el valor del lado derecho
del operador y copia en la variable que esta al lado izquierdo del
operador.
Corina Flores V
UMSS - Programa MEMI
Métodos Accesores
public int getMontoAcum()
{
return acumulador;
}
public int getPrecio()
{
return precio;
}
Los metodos accesores, son aquellos que se caracterizan
por devolver (retornar) informacion acerca del estado de
un objeto
Para lo que es necesario aplicar la sentencia return, el cual es
responsable de devolver un valor que corresponda con el tipo de
retorno del metodo
Corina Flores V
UMSS - Programa MEMI
Métodos modificadores
(mutadores)
Los métodos mutadores, son métodos que cambian el
estado de un objeto.
Los métodos ingresarMoneda e imprimirTicket en este
caso son métodos mutadores, porque se encargan de
cambiar el valor de uno o más campos de un objeto de
tipo máquinaRegistradora cada vez que son llamados.
Corina Flores V
UMSS - Programa MEMI
Métodos modificadores
(mutadores)
public void ingresarMoneda(int monto)
{
acumulador = acumulador + monto;
}
Tipo de retorno que no retorna
ningún valor en su llamada
Por tanto, en el cuerpo de un
método mutador NO se requiere de
la sentencia RETURN
Corina Flores V
UMSS - Programa MEMI
Reflexionando acerca del …
Diseño de la máquina registradora
Examinaremos la implementación con el objetivo
de mejorar la clase máquinaRegistradora.
Veamos cuáles son las deficiencias …
1. No controla que el visitante ingrese las suficientes
monedas para pagar el precio del ticket.
2. No reembolsa al visitante, cuando éste paga más que
el precio del ticket
3. No verifica si el visitante ingresa un monto válido de
moneda, por ejemplo un valor negativo.
Corina Flores V
UMSS - Programa MEMI
Reflexionando acerca del …
¿Cómo remediar estos problemas?
Tomando como base la implementación anterior,
hay que pensar en los cambios a generar
Veamos cuáles son esos cambios …
1. No controla que el
visitante …
2. No reembolsa al
visitante …
1. Pregunta y comparar
2. Calcular devolverCambio
3. No verifica si …monto
3. Pregunta y comparar
válido …
Corina Flores V
UMSS - Programa MEMI
La sentencia condicional
Conocida también como estructura de control de tipo
selección
if - else
Evalúa una condición lógica y elige que sucederá
en función al resultado
Su sintaxis es:
Corina Flores V
if (condición lógica) {
--- bloque de sentencias ---
}
else {
--- bloque de sentencias ---
}
UMSS - Programa MEMI
La sentencia condicional
Condición lógica, significa que entre los paréntesis existirá
una operación que como resultado dará un valor de tipo
booleano, es decir Verdadero o Falso
El bloque de sentencias, se refiere al conjunto de sentencias
que se ejecutarán dependiendo del valor del resultado, es
decir, por:
VERDAD, se ejecuta todo el bloque de
sentencias después del if
FALSO, se ejecuta todo el bloque de
sentencias después del else
Corina Flores V
UMSS - Programa MEMI
La sentencia condicional
Veamos los cambios en el programa …
public void ingresarMoneda(int monto)
{
if (acumulador > 0) {
acumulador = acumulador + monto;
}
else {
System.out.println("Por favor, …”);
}
}
Corina Flores V
UMSS - Programa MEMI
La sentencia condicional
Notar que …
La sentencia condicional permite tomar una de dos
posibles acciones dependiendo del resultado del test.
Si el test es VERDAD, hace una cosa y otra cosa
cuando el test es FALSO
El test usa una condición lógica o expresión
booleana, por lo que tiene solo dos posibles valores:
true o false
Corina Flores V
UMSS - Programa MEMI
La sentencia condicional
Notar que …
La sentencia condicional permite tomar una de dos
posibles acciones dependiendo del resultado del test.
Si el test es VERDAD, hace una cosa y otra cosa
cuando el test es FALSO
El test usa una condición lógica o expresión
booleana, por lo que tiene solo dos posibles valores:
true o false
Corina Flores V
UMSS - Programa MEMI
Comentarios de: Entendiendo la definición de clases (0)
No hay comentarios