Programación orientada a objetos

Slides:



Advertisements
Presentaciones similares
If anidados y Switch Prof. Lillian Bras.
Advertisements

Programación orientada a objetos
Telling time in Spanish: Explanation Practice exercise index.
Telling Time.
By Jami Sipe Telling Time ¿Qué hora es? : To ask what time it is, use: Es la una. Son las + hour. : To say it is one o’clock, use: one o’clock To give.
1 Asignación Dinámica de Memoria Agustín J. González Versión original de Kip Irvine ELO 329.
To tell the time in Spanish… 3:15=Son las tres y quince. 11:20=Son las once y veinte. 6:04=Son las seis y cuatro. 1:30=Es la una y treinta 8:19=Son las.
Telling Time La hora. Telling Time To ask what time it is in Spanish, ask: ¿Qué hora es? To answer: Es la una… (12:31 – 1:30) or Son las (hour). (1:31.
1 Asignación Dinámica de Memoria Agustín J. González ELO 329.
Telling Time on the Hour If the hours are between 2 and 12, use “Son las …” Examples: 3:00 – Son las tres. 11:00 – Son las once. If the hour is within.
Cómo decir la hora. When we ask what time it is in Spanish, we say… “¿Qué hora es?”
Say the hour + y + the minutes passed. For a quarter of an hour – use “cuarto.” For half an hour – use “media.” Ejemplos: Es la una y diez. (1:10) Son.
¿Qué hora es? What time is it? ¿Cómo decimos la hora en español?  Es la _______. Es is use for 1 o’clock only.  Son las ______. Son is used with all.
¿Qué hora es? What time is it? Srta. Kudrak, Español I.
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
Programación orientada a objetos Capítulo 3 Interacción de objetos.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS Objetos.
Tipos genéricos Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Unidad Didáctica 3.
TELLING TIME IN SPANISH. What time is it? To ask what time it is, say “¿Qué hora es?”
PROGRAMACIÓN ORIENTADA A OBJETOS Encapsulamiento y constructores.
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Programación orientada a objetos
Métodos y parámetros.
Polimorfismo y Métodos Virtuales
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Manejo de Punteros y objetos en memoria dinámica en C++
INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS
Notes: La Hora (Time) How do I tell time in Spanish?
Calentamiento ¿Cuál es la fecha? ¿Qué te gusta hacer el sábado?
TELLING TIME IN SPANISH
Diseño y Programación Orientada a Objetos
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Manejo de Punteros y objetos en memoria dinámica en C++
Definición y Conversión de datos
First Grade Dual High Frequency Words
Español 1B 14 de agosto de 2017.
Telling Time (Cómo decir la hora).
¿Qué hora es?.
Programación en Java..
Avancemos 1 – Unidad 2 Lección 1
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Telling Time (Cómo decir la hora).
Algunas ideas básicas de C++
Herencia en C++ Agustín J. González ELO329.
¿Qué hora es?.
Telling Time (Cómo decir la hora).
Telling Time (Cómo decir la hora).
Apuntes: La hora Lección 1: Hola, ¿Qué tal?.
Telling Time (Cómo decir la hora).
Telling Time (Cómo decir la hora).
Telling Time (Cómo decir la hora).
Herencia en C++ Agustín J. González ELO329.
Telling time.
Telling Time (Cómo decir la hora).
Telling Time (Cómo decir la hora).
Telling Time (Cómo decir la hora).
CC 1002: Introducción a la Programación Clase 19
Manejo de Punteros y objetos en memoria dinámica en C++
Telling Time (Cómo decir la hora).
Telling Time (Cómo decir la hora).
(Cómo decir la hora) How to Tell Time.
Telling Time (Cómo decir la hora).
Telling Time (Cómo decir la hora).
Herencia en C++ Agustín J. González ELO329.
Herencia en C++ Agustín J. González ELO329.
Herencia en C++ Agustín J. González ELO329.
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Funciones y Clases Amigas (Friend)‏ Miembros Estáticos (Static)
Ch. 1 La hora Telling Time in Spanish
Transcripción de la presentación:

Programación orientada a objetos Capítulo 3 Interacción de objetos Tutor: Manuel Fernández Barcell Centro Asociado de Cádiz http://prof.mfbarcell.es

3.2 Abstracción y modularización Habilidad para ignorar/prescindir de los detalles de las partes Para centrar la atención en un nivel más alto de un problema

3.2 Abstracción y modularización La Modularización Es el proceso de dividir un todo en partes bien definidas que pueden ser construidas y examinadas separadamente Las cuales interactúan de maneras bien definidas Divide et vinces

3.5 Implementación de la pantalla del reloj

3.6 Diagramas de clases y diagramas de objetos Cuando una variable almacena un objeto, el objeto no se almacena directamente en la variable, lo que la variable contiene es una referencia al objeto

3.7 Tipos primitivos y tipos de objetos Java reconoce dos clases de tipos muy diferentes: Los tipos primitivos Los tipos objeto Están todos predefinidos en el lenguaje Java Son todos los tipos que no son objetos. No poseen métodos Una diferencia radica en cómo se almacenan los valores. Los valores primitivos se almacenan directamente en una variable. Los objetos no se almacenan directamente en una variable sino que se almacena una referencia al objeto.

3.8 ver código de ClokDisplay http://docs.oracle.com/javase/7/docs/api/ http://docs.oracle.com/javase/8/index.html

Clase “NumberDisplay” public String getDisplayValue() { if(value < 10) { return "0" + value; } else { return "" + value; /** * Set the value of the display to the new specified value. If the new * value is less than zero or over the limit, do nothing. */ public void setValue(int replacementValue) if((replacementValue >= 0) && (replacementValue < limit)) { value = replacementValue; * Increment the display value by one, rolling over to zero if the * limit is reached. public void increment() value = (value + 1) % limit; public class NumberDisplay { private int limit; private int value; /** * Constructor for objects of class NumberDisplay. * Set the limit at which the display rolls over. */ public NumberDisplay(int rollOverLimit) limit = rollOverLimit; value = 0; } /** * Return the current value. */ public int getValue() { return value; }

Operadores relacionales

Clase “ClockDisplay” */ /** public class ClockDisplay { private NumberDisplay hours; private NumberDisplay minutes; private String displayString; // simulates the actual display /** * Constructor for ClockDisplay objects. This constructor * creates a new clock set at 00:00. public ClockDisplay() hours = new NumberDisplay(24); minutes = new NumberDisplay(60); updateDisplay(); } /** * Constructor for ClockDisplay objects. This constructor * creates a new clock set at the time specified by the * parameters. */ public ClockDisplay(int hour, int minute) { hours = new NumberDisplay(24); minutes = new NumberDisplay(60); setTime(hour, minute); }

/** * Set the time of the display to the specified hour and * minute. */ public void setTime(int hour, int minute) { hours.setValue(hour); minutes.setValue(minute); updateDisplay(); } * Return the current time of this display in the format HH:MM. public String getTime() return displayString; /** * This method should get called once every minute - it makes * the clock display go one minute forward. */ public void timeTick() { minutes.increment(); if(minutes.getValue() == 0) { // it just rolled over! hours.increment(); } updateDisplay(); /** * Update the internal string that represents the display. */ private void updateDisplay() { displayString = hours.getDisplayValue() + ":" + minutes.getDisplayValue(); }

3.9 Objetos que crean objetos

Parámetro formal parámetro actual

3.10 Constructores múltiples

3.11.1 Llamadas a métodos Internos

3.11.2 Llamada a métodos externos

Proyecto mail-system

Palabra clave “this” El motivo por el que se usa esta construcción radica en que tenemos una situación que se conoce como sobrecarga de nombres. Significa que el mismo nombre es usado por entidades diferentes.

this Lo que necesitamos es un mecanismo para acceder a un campo cuando existe una variable con el mismo nombre declarada más cerca de la sentencia que la usa. Este mecanismo es justamente lo que significa la palabra clave this. La expresión this hace referencia al objeto actual. Ahora podemos leer la sentencia de asignación nuevamente: this.para = para; Como podemos ver, esta sentencia tiene el mismo efecto que la siguiente:

Palabra clave “this”

3.13 Uso del depurador Establecemos el punto de interrupción, pulsando sobre el número de la línea

Cinco zonas de visualización: Variables: Estáticas, De variable (instancia), Locales al método actual) Pila de llamadas a métodos (Call Sequence) Threads (para programas concurrentes). Botones para controlar la ejecución: Halt: Activado cuando se está ejecutando el programa. Permite parar la ejecución. Step: Ejecución de la sentencia actual. Se para justo al completarla. Step Into: Si la sentencia es de llamada a un método, se introduce en éste y se para en la primera sentencia del mismo. Continue: Para seguir la ejecución normal del programa hasta llegar a otro breakpoint o que se pulse Halt. Terminate: Acaba la ejecución del programa

Ejecución paso a paso Cuando la ejecución se detiene en un punto de interrupción, al hacer clic sobre el botón Step se ejecuta una sola línea de código y luego se detiene nuevamente

Glosario