Programación orientada a objetos

Documentos relacionados
INTERACCION ENTRE OBJETOS

LA PALABRA CLAVE THIS EN JAVA. CONTENIDO NULL POR DEFECTO DE UN OBJETO. SOBRECARGA DE NOMBRES. EJEMPLOS (CU00654B)

Unidad Didáctica 3. Tipos genéricos. Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Programación Orientada a Objetos

GUÍA DE TRABAJO GRADO 11. Articulación SENA Programación de Software Ing. Néstor Raúl Suarez Perpiñan Página 1 de 6

Sesión 4. TEMA 6 INTERACCIÓN DE OBJETOS

class identificador{ //Bloque de propiedades (datos miembro, atributos, propiedades) //Bloque de métodos (comportamientos) }

PROGRAMACIÓN EN JAVA

PARTE TEÓRICA - TEST [2,5 PUNTOS]:

Sobre Carga de Operadores

EVALUACIÓN. Programa de trabajador

Guía del Curso IFCD052PO PROGRAMACIÓN EN JAVA

Estructura de datos y Programación

Programación orientada a objetos I

Tema 6 Patrones de Diseño. Programación Orientada a Objetos Curso 2010/2011

Algoritmos y Estructuras de Datos Tema 2: Diseño de Algoritmos

Qué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.

Guía práctica de estudio 07: Herencia

Unidad Didáctica 1. Introducción a la Programación Orientada a Objetos (POO) Conceptos de clase, objeto e interfaz. Atributos y métodos

Introducción a Java LSUB. 30 de enero de 2013 GSYC

[Column(Name = "FirstName", DbType = "varchar(10)")] public string FirstName { get; set; }

Conceptos Básicos. Programación Orientada a Objetos 2

CLASES QUE UTILIZAN OBJETOS. RELACIÓN DE USO ENTRE CLASES JAVA. CONCEPTO DE DIAGRAMA DE CLASES. (CU00641B)

18. Interfaces Declaración de una interfaz

! Qué es la POO?! Un paradigma de programación. ! No hay paradigmas mejores ni peores! Todos tienen sus ventajas e inconvenientes

Tema 7.- Fundamentos de la Programación Orientada a Objetos

Construcciones del Lenguaje Java

1. (1 punto) Dado el siguiente fragmento en Java:

Programación de sistemas Listas enlazadas

FACULTAD DE ECONOMIA Y ADMINISTRACION DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION CÁTEDRA PROGRAMACION GENERAL. Trabajo Práctico Nº 4

Identidad, igualdad y equivalencia

En Java, un arreglo es un grupo de variables (llamados elementos o componentes) que contienen valores, todos del mismo tipo.

GUÍA DE TRABAJO N 9 - LENGUAJES C# + SQL Educación Media Fortalecida Programación de Software GRADO 11 Ing. Néstor Raúl Suarez Perpiñan Página 1 de 8

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote MODIFICADORES DE ACCESO A LOS MIEMBROS DE UNA CLASE

PROGRAMACION CONCURRENTE Y DISTRIBUIDA. IV.3 Monitorización de excepciones en Threads

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

Definición. Mónica E. García García Feb 07

PROGRAMACIÓN EN C#.NET Programación Orientada a Objetos en C# Ing. Bruno López Takeyas

Programación orientada a objetos en PHP. Lic. Nancy Michelle Torres Villanueva

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Parte I: Programación en un lenguaje orientado a objetos

Estructura de un programa en Java. Tipos de datos básicos. class miprimerprograma{ // comentario, no es parte del programa

Anexo de documentación

! Fundamentos de la POO. ! Comportamiento y estado. ! Clases y objetos en Java

Estructuras de control selectivas

FUNCIONES O MÉTODOS. Algoritmia y Programación

POO: Clases y objetos

Manejo de Clases y Objetos. Manejo de Clases y Objetos

Diseño de tipos Igualdad, representación, código, copia y relación de orden

RTTI y reflexión Modelos de datos

TECNICAS DE PROGRAMACION Universidad Católica Los Angeles de Chimbote METODOS CONSTRUCTORES Y LA REFERENCIA THIS

Programación Conducida por eventos Event-driven programming. Agustín J. González ELO329/ELO330

Unidad IV. Este tipo de codificación nos es permitido gracias a la sobrecarga, la cual se aplica a métodos y constructores.

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

TEMA 3:Programación con Clases y Objetos.

Java. Introducción a la Programación Orientada a Objetos

Programación multimedia y dispositivos móviles. Android y JSON

Tema 4. Control de flujo. Programación Programación - Tema 4: Control de Flujo

Tema 2 Funciones y procedimientos. Tema 2 Funciones y procedimientos. Introducción. Abstracción y modularidad

12. Tipos de atributos

Clases y Objetos en C++

Prueba N o 1. Programación II

Aspectos de los LP. Diseño de compiladores. Estático vs. Dinámico. Estático vs. Dinámico. Scope. Scope 24/03/2015

Unidad V. Ya veremos qué poner en "algunas_palabras" y "algo_más", por ahora sigamos un poco más.

Lenguaje C, tercer bloque: Funciones

Fundamentos de la Programación Orientada a Objetos Definición de Clases

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

INICIACIÓN A LA PROGRAMACIÓN LENGUAJE JAVA con BlueJ

PRÁCTICA No 4 POO Encapsulación. El alumno conocerá los principios de la encapsulación, y el uso de constructores para la inicialización de datos

Introducción. Introducción y conceptos de POO. En qué consiste la POO? Vocabulario. Definiciones

Transcripció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

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 Los tipos primitivos 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 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; 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;

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);

/** * 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(); /** * 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;

3.9 Objetos que crean objetos

Parámetro formal parámetro actual

3.10 Constructores múltiples

3.11 Llamadas a métodos 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

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