Conceptos fundamentales de la POO. Fundamentos de la Programación Orientada a Objetos Objetos y Clases



Documentos relacionados
Presentación de la asignatura

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Programación Orientada a Objetos en Java

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

Clases y Objetos. Informática II Ingeniería Electrónica

Capítulo 6. Introducción a la POO

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

8. Sentencia return y métodos

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

Programación Orientada a Objetos en Java

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Programación Orientada a Objetos en JAVA

Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Algoritmia y Programación

Introducción al lenguaje de programación java

Introducción al lenguaje Java

2.2.- Paradigmas de la POO

1. Manejo de memoria estática 2. Manejo de memoria dinámica

Universidad de Cantabria

Introducción a la programación orientada a objetos

Tema 1. Introducción a JAVA

UNIVERSIDAD CATOLICA DE COLOMBIA FACULTAD DE INGENIERIA DE SISTEMAS

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

El lenguaje de Programación C. Fernando J. Pereda

Definición de clases: Herencia, polimorfismo, ligadura dinámica

Java en 2 horas. Rodrigo Santamaría

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.2 UML: Modelado de casos de uso

Java Inicial (20 horas)

FUNDAMENTOS DE PROGRAMACIÓN. SEPTIEMBRE 2005

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

Sensor de Temperatura utilizando el Starter Kit Javelin Stamp. Realizado por: Bertha Palomeque A. Rodrigo Barzola J.

1. Qué tipos de relación hay entre las siguientes clases?

Clases y objetos. Objeto Instancia de una clase: Unidad atómica que encapsula estado y comportamiento.

Diagramas del UML. A continuación se describirán los diagramas más comunes del UML y los conceptos que representan: Diagrama de Clases

Programación orientada a objetos

Las aplicaciones no se construyen desde cero

Programación Orientada a Objetos con Java

Java en 3 horas. Ampliación de Sistemas Operativos. Rodrigo Santamaría

Ejercicio 1 (3 puntos).-

Curso de Doctorado: Tecnologías de Objetos

PROGRAMACIÓN ORIENTADA A OBJETOS

Primera Escuela de la Red Temática SVO. Madrid, Noviembre, 2006 JAVA BÁSICO. Raúl Gutiérrez Sánchez LAEFF - INTA raul@laeff.inta.

Estructura de las Aplicaciones Orientadas a Objetos El patrón Modelo-Vista-Controlador (MVC)

Tema: Clases y Objetos en C++.

TEMA 3. CLASES. EJERCICIOS

2.1. Introducción al lenguaje Java

INFORMÁTICA II. Clase 1: Presentación- Introducción. Semestre 2012/1

IIC Introducción a la Programación -

Conceptos. ELO329: Diseño y Programación Orientados a Objetos. ELO 329: Diseño y Programación Orientados a Objetos

Programación Avanzada Ingeniería Civil en Computación

UNIVERSIDAD AUTÓNOMA DE YUCATÁN FACULTAD DE MATEMÁTICAS MISIÓN

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

Modelo de Objetos Distribuidos

Computación III. Objetivo de aprendizaje del tema

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

IES - Introducción a la Ingeniería del Software

FACULTAD DE INGENIERÍA

APLICACIONES MÓVILES NATIVAS

Curso de Java POO: Programación orientada a objetos

Manual del Protocolo XML-RPC de Mensajería Negocios

PART II: Moviendo al jugador

Constructores y Destructores

5º SISTEMAS INFORMATICOS III

Aquí se declaran los. Aquí se declaran los métodos de la clase. *Atributos de la clase

ELO329: Diseño y Programación Orientados a Objetos 20 de Junio de Certamen Final

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Taller de Programación Estructurada en Java Tema 2. Fundamentos de la programación orientada a objetos

Tutorial básico del entorno de desarrollo Eclipse.

PROGRAMACIÓN ORIENTADA A OBJETOS Master de Computación. II MODELOS y HERRAMIENTAS UML. II.1 UML: Introducción

Estructura de las Aplicaciones Orientadas a Objetos Herencia y Polimorfismo

Creación y destrucción de objetos

Excepciones. Gonzalo Méndez - Dpto. Ingeniería de Software e Inteligencia Artificial. Excepciones

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

Benemérita Universidad Autónoma del Estado de Puebla

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

TEMA 5. Otras arquitecturas distribuidas II. Objetos distribuidos y CORBA

Tema 2. El lenguaje de programación Java. Arrays y cadenas

Benemérita Universidad Autónoma del Estado de Puebla

UNIVERSIDAD DE SEVILLA PRÁCTICAS DE LABORATORIO ANÁLISIS SINTÁCTICO (1) LENGUAJES FORMALES Y AUTÓMATAS CURSO 2006/2007

ORGANIZACIÓN DOCENTE del curso

Introducción... 1 Qué es Java?... 1 Compilando a Bytecode... 1 Usando jgrasp Para Hacer el Trabajo Sucio... 5 El Entorno de jgrasp...

Repaso de las características más importantes de la programación Java y su adaptación a Android

Modulo 1 El lenguaje Java

JavaScript como Orientación a Objetos

PROGRAMACIÓN CLIENTE-SERVIDOR MEDIANTE SOCKETS EN JAVA

Multitarea en Java. Rafa Caballero - UCM

ALGORITMICA Y PROGRAMACION POR OBJETOS I

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

Estructura de Datos [Tipos de datos concretos y tipos de datos abstractos]

Capitulo 5. Implementación del sistema MDM

9. Objetos y clases Clases

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Introducción a la Programación en Java. Page 1

Curso de Python Inicial

Informática I para Bachillerato

Índice ÍNDICE EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.) EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4

11. Algunas clases estándar de Java (II)

Patrones de software y refactorización de código

PROGRAMACIÓN ORIENTADA A OBJETOS

Automatización Industrial

Curso Introducción JAVA Pág.: 1

Transcripción:

Fundamentos de la Programación Orientada a Objetos Objetos y Clases Programación Orientada a Objetos Facultad de Informática Dep. Ingeniería del Software e Inteligencia Artificial Universidad Complutense Madrid Conceptos fundamentales de la POO Objetos Clases Métodos Parámetros Tipos de datos Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 2

Objetos Los objetos son/representan cosas Los objetos pueden ser simples o complejos Los objetos pueden ser reales o imaginarios Hola Mundo Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 3 Atributos Valores o características de los objetos Permiten definir el estado del objeto u otras cualidades Velocidad Aceleración Capacidad de combustible Marca Color Potencia Velocidad máxima Carburante constantes variables Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 4

Mensajes Los objetos se comunican e interaccionen entre sí por medio de mensajes Si un objeto desea que otro objeto haga algo le envía un mensaje que puede tener información adicional en forma de parámetros Cuando un objeto recibe un mensaje ejecutará un método u operación Componentes de un mensaje Objeto destinatario del mensaje (micoche) Método que se debe ejecutar como respuesta (cambiar marcha) Parámetros necesarios del método (segunda) Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 5 Métodos (u operaciones) Acciones que puede realizar un objeto Arrancar motor Parar motor Acelerar Frenar Girar a la derecha (grados) Girar a la izquierda (grados) Cambiar marcha (nueva marcha) método argumentos o parámetros Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 6

Métodos (u operaciones) Los métodos pueden devolver un valor al acabar su ejecución Valor de retorno Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 7 Clases Representan un tipo particular de objetos Objetos con características y comportamiento similar Categorías de objetos objetos de la clase Coche Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 8

Clases Cada clase tiene asociado un código (definición de la clase), que determina Los atributos que tienen los objetos de la clase Los métodos que pueden ejecutar los objetos de la clase y cómo lo hacen Programar orientado a objetos consiste en escribir código de clases de objetos Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 9 Definición de clases en C++ enum Carburante { diesel, super, sinplomo class Coche { char* marca; double vel_max; int potencia; Carburante tipo_carburante; double velocidad; double aceleracion; public: void arrancar() { // instrucciones para arrancar el coche void frenar() { // instrucciones para frenar el coche void acelerar() { // instrucciones para acelerar el coche void girar_derecha(short grados) { // instrucciones para girar a la derecha // etc. // fin de definición de la clase Coche Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 10

Definición de clases en Java class Coche { // atributos: String marca; double vel_max; int potencia; String tipo_carburante; double velocidad; double aceleracion; // métodos: void arrancar() { // instrucciones para arrancar el coche void frenar() { // instrucciones para frenar el coche void acelerar() { // instrucciones para acelerar el coche void girar_derecha(short grados) { // instrucciones para girar a la derecha // etc. // fin de definición de la clase Coche Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 11 Clases De cada clase pueden crearse múltiples objetos Cada objeto tiene valores propios asignados a los atributos: estado del objeto Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 12

Tipos de datos Indican la naturaleza de los datos Que se pasan como parámetro o que devuelven los métodos De los atributos de los objetos Hay algunos básicos (dependen del lenguaje de programación) int boolean double String Y otros los definen las clases Objetos de una clase determinada Definida por el usuario De una librería Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 13 Un programa en POO Un programa consta de un conjunto de instancias o ejemplares de objetos (object instances) y un flujo de control principal (main) Durante la ejecución del programa: Los objetos se crean y se destruyen Gestión dinámica de la memoria Se les solicita a los objetos que ejecuten métodos (operaciones) Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 14

Un programa en C++ main() { Coche *c=new Coche(); // crea un objeto Coche } c-> arrancar //... dispose(c); // utiliza el objeto // elimina el objeto Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 15 Un programa en Java class Programa { public static void main(string args[]) { } Coche c=new Coche(); // crea un objeto Coche c.arrancar(); //... // utiliza el objeto } // se elimina el objeto cuando nadie lo puede utilizar // automáticamente! Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 16

Ejercicios Instalar BlueJ Se puede encontrar en http://www.bluej.org/ Abrir el ejemplo que tiene el nombre shapes Crear objetos Seleccionar un objeto y ejecutar new ClaseObjeto() Ver atributos de objetos Invocar métodos en objetos Ver el código de las clases de objetos Crear un dibujo combinando varios objetos Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 17 Bibliografía D.J. Barnes y M. Kölling, Programación orientada a objetos con Java. Una introducción práctica usando BlueJ. Pearson Educación, 2007 T. Budd, An introduction to Object-Oriented Programming (Third Edition). Pearson Education, 2001 E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Paterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1994 B. Stroustrup, The C++ Programming Language (Third Edition). Addison-Wesley, 1997 Agustín Froufe. Java 2. Manual de usuario y tutorial. Ed. Ra-Ma J. Sánchez, G. Huecas, B. Fernández y P. Moreno, Iniciación y referencia: Java 2. Osborne McGraw-Hill, 2001. B. Meyer, Object-Oriented Software Construction (Second Edition). Prentice Hall, 1997 Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 18