Entendiendo la definición de clases

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Métodos y parámetros.
INTELIGENCIA ARTIFICIAL
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Definición de Clases y Variables de referencia.
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Estructuras de Decisión I IF - THEN - ELSE
Programación Básica con NQC Pedro F. Toledo – Patricio Castillo 18/08/2006.
Introducción a los Algoritmos
MANUAL EXPRESS DE C J.M.sevilla.
El proceso de desarrollo de software
Lección 1 Introducción a la POO
DIAGRAMAS DE FLUJO Y PSEUDOCÓDIGO
FUNCIONES EN C.
1.2 Sintaxis del lenguaje Java.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Abstracción de Datos La abstracción es un recurso fundamental en la programación orientada a objetos y está además fuertemente ligado a reusabilidad.
Programación Orientada a Objetos en Java
METODOLOGIA DE LA PROGRAMACION
Método en Java.
Recursión Se dice que un método es recursivo si forma parte de sí mismo o se define en función de sí mismo. La recursión es un medio particularmente poderoso.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Funciones en lenguaje C
FUNCIONES Y PROCEDIMIENTOS
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
Estructuras de Control
Modificadores.
Java Orientado a Objetos CLASES,OBJETOS Y MÉTODOS
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Al término de la clase, el alumno reconoce las ventajas de usar JAVASCRIPT para un proyecto web.
ESTRUCTURAS DE CONTROL
Clase Teórica No. 4 Programación IV
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
FUNCIONES LOGICAS SI(PL;V_V;V_F)
CI TEORIA semana 4 Estructura Algorítmica: SELECCIÓN
Switch en PHP Programación en Internet II. Switch en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la Costa Elegir.
Programación con Assertions
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Capítulo 1 “Elementos de Programación”
Conversión cadena a número
Patrones Creacionales
Sentencias de selección
Programación Orientada a Objetos usando CONSTRUCTORES DESTRUCTORES.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento.
Sesión 5 Sentencias de Selección y repetición Prof:Eridan Otto Programación de Computadores Lenguaje Pascal.
Computación II Repaso de java Karina Figueroa Mora.
Else Elseif en PHP Programación en Internet II. Else Elseif en PHP Programación en Internet II Universidad de Guadalajara | Centro Universitario de la.
Programación Básica con NQC Patricio A. Castillo Pizarro 25/08/2007.
Material de apoyo Unidad 4 Estructura de datos
Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE.
Programación Básica con “NQC” Pedro F. Toledo – Patricio Castillo 18/08/2006.
Estructuras de Repetición (Hacer-Mientras)
Términos algoritmo diseñar algoritmo implementar algoritmo
Patricio A. Castillo José M. Galarce Agosto 23 de 2008 Segunda Clase.
Programación orientada a objetos Capítulo 2 Comprender las definiciones de clase.
Estructuras de Decisión
Sentencia Condicional
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Caso.
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código.
ESTRUCTURA DE CONTROL REPETITIVAS: WHILE, DO… WHILE
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
PROGRAMACIÓN Grupo de Modelamiento de Sistemas
Décimo Curso de Programación Básica con NQC “Segunda Clase” Cristián Arenas Ulloa Agosto 29 de 2009.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
1 Métodos. 2 Un método es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
1 Clase 6: control (1ª parte) iic1102 – introducción a la programación.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
Transcripción de la presentación:

Entendiendo la definición de clases Corina Flores Villarroel corina@memi.umss.edu.bo 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() Corina Flores V UMSS - Programa MEMI

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): 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 Corina Flores V UMSS - Programa MEMI

Constructor public MaquinaRegistradora(int costo) { precio = costo; acumulador = 0; total = 0; } Constructor 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 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 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 … 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. 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 … No controla que el visitante … Pregunta y comparar No reembolsa al visitante … Calcular devolverCambio No verifica si …monto válido … Pregunta y comparar 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 if (condición lógica) { --- bloque de sentencias --- } else { Su sintaxis es: Corina Flores V 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