Professional Documents
Culture Documents
Objetos y Clases
Programacin Orientada a Objetos Facultad de Informtica
Juan Pavn Mestras Dep. Ingeniera del Software e Inteligencia Artificial Universidad Complutense Madrid
Objetos
Los objetos son/representan cosas Los objetos pueden ser simples o complejos Los objetos pueden ser reales o imaginarios
Hola Mundo
Juan Pavn Mestras Facultad de Informtica UCM, 2007-08 Programacin Orientada a Objetos
Atributos
Valores o caractersticas de los objetos Permiten definir el estado del objeto u otras cualidades
constantes
variables
Juan Pavn Mestras Facultad de Informtica UCM, 2007-08 Programacin Orientada a Objetos
Mensajes
Los objetos se comunican e interaccionen entre s por medio de mensajes Si un objeto desea que otro objeto haga algo le enva un mensaje que puede tener informacin adicional en forma de parmetros Cuando un objeto recibe un mensaje ejecutar un mtodo u operacin Componentes de un mensaje
Objeto destinatario del mensaje (miCoche) Mtodo que se debe ejecutar como respuesta (cambiar marcha) Parmetros necesarios del mtodo (segunda)
Mtodos (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)
mtodo
argumentos o parmetros
Mtodos (u operaciones)
Los mtodos pueden devolver un valor al acabar su ejecucin
Valor de retorno
Clases
Representan un tipo particular de objetos
Objetos con caractersticas y comportamiento similar Categoras de objetos
Clases
Cada clase tiene asociado un cdigo (definicin de la clase), que determina
Los atributos que tienen los objetos de la clase Los mtodos que pueden ejecutar los objetos de la clase y cmo lo hacen
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 };
10
11
Clases
De cada clase pueden crearse mltiples objetos Cada objeto tiene valores propios asignados a los atributos: estado del objeto
12
Tipos de datos
Indican la naturaleza de los datos
Que se pasan como parmetro o que devuelven los mtodos De los atributos de los 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 ejecucin del programa:
Los objetos se crean y se destruyen
Gestin dinmica de la memoria
14
Un programa en C++
main() { Coche *c=new Coche(); // crea un objeto Coche c-> arrancar // utiliza el objeto // ... dispose(c); // elimina el objeto }
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 // automticamente ! }
16
Ejercicios
Instalar BlueJ
Se puede encontrar en http://www.bluej.org/
Ver atributos de objetos Invocar mtodos en objetos Ver el cdigo de las clases de objetos Crear un dibujo combinando varios objetos
17
Bibliografa
D.J. Barnes y M. Klling, Programacin orientada a objetos con Java. Una introduccin prctica usando BlueJ. Pearson Educacin, 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 Agustn Froufe. Java 2. Manual de usuario y tutorial. Ed. Ra-Ma J. Snchez, G. Huecas, B. Fernndez y P. Moreno, Iniciacin y referencia: Java 2. Osborne McGraw-Hill, 2001. B. Meyer, Object-Oriented Software Construction (Second Edition). Prentice Hall, 1997
18