1 / 19

Entendiendo la definición de clases

Entendiendo la definición de clases. Corina Flores Villarroel corina@memi.umss.edu.bo. Contenidos. Elementos básicos en la definición de clases Campos Constructores Parámetros Métodos Sentencias de asignación y condicionales. Introducción. Lee el siguiente enunciado:.

ryder
Download Presentation

Entendiendo la definición de clases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Entendiendo la definición de clases Corina Flores Villarroel corina@memi.umss.edu.bo UMSS - Programa MEMI

  2. Contenidos • Elementos básicos en la definición de clases • Campos • Constructores • Parámetros • Métodos • Sentencias de asignación y condicionales UMSS - Programa MEMI

  3. 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. UMSS - Programa MEMI

  4. 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 ingresaren 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 UMSS - Programa MEMI

  5. 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

  6. Definiendo la clase • Modelo gráfico (diseño): MaquinaRegistradora precio acumulador total obtenerPrecio() obtenerMontoAcum() ingresarMoneda() imprimirTicket() UMSS - Programa MEMI

  7. Campos • Traducir a código (implementar): 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; Campos Almacenan datos para un objeto. Tambien se conocen como instancias de variables UMSS - Programa MEMI

  8. Constructor public MaquinaRegistradora(int costo) { precio = costo; acumulador = 0; total = 0; } Constructor Permite a cada objeto inicializar sus valores apropiadamente cuando éste es creado. UMSS - Programa MEMI

  9. 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. UMSS - Programa MEMI

  10. Métodos Accesores public int getPrecio() { return precio; } public int getMontoAcum() { return acumulador; } Los metodos accesores, son aquellos que se caracterizan por devolver (retornar) informacion acerca del estado de un objeto Para lo que es necesario aplicar lasentencia return, el cual es responsable de devolver un valor que corresponda con el tipo de retorno del metodo UMSS - Programa MEMI

  11. Métodos modificadores (mutadores) Los métodos mutadores, son métodos quecambian el estado de un objeto. Los métodosingresarMoneda eimprimirTicketen 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. UMSS - Programa MEMI

  12. Métodos modificadores (mutadores) public voidingresarMoneda(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 UMSS - Programa MEMI

  13. 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 … No controla que el visitante ingrese las suficientes monedas para pagar el precio del ticket. No reembolsa al visitante, cuando éste paga más que el precio del ticket No verifica si el visitante ingresa un monto válido de moneda, por ejemplo un valor negativo. UMSS - Programa MEMI

  14. 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 … No controla que el visitante … Pregunta y comparar No reembolsa al visitante … Calcular devolverCambio No verifica si …monto válido … Pregunta y comparar UMSS - Programa MEMI

  15. 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 if (condición lógica) { --- bloque de sentencias --- } else { --- bloque de sentencias --- } Su sintaxis es: UMSS - Programa MEMI

  16. 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 UMSS - Programa MEMI

  17. 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, …”); } } UMSS - Programa MEMI

  18. 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 UMSS - Programa MEMI

  19. 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 UMSS - Programa MEMI

More Related