Вы находитесь на странице: 1из 9

Fundamentos de la Programacin Orientada a Objetos

Objetos y Clases
Programacin Orientada a Objetos
Facultad de Informtica
Juan Pavn Mestras
Dep. Ingeniera del Software e Inteligencia Artificial
Universidad Complutense Madrid
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 2
Conceptos fundamentales de la POO
Objetos
Clases
Mtodos
Parmetros
Tipos de datos
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 3
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 4
Atributos
Valores o caractersticas de los objetos
Permiten definir el estado del objeto u otras cualidades
Velocidad
Aceleracin
Capacidad de
combustible
variables
constantes
Marca
Color
Potencia
Velocidad mxima
Carburante
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 5
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)
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 6
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
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 7
Mtodos (u operaciones)
Los mtodos pueden devolver un valor al acabar su
ejecucin
Valor de retorno
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 8
Clases
Representan un tipo particular de objetos
Objetos con caractersticas y comportamiento similar
Categoras de objetos
objetos de la clase
Coche
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 9
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
Programar orientado a objetos consiste en escribir cdigo
de clases de objetos
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 10
Definicin 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 definicin de la clase Coche
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 11
Definicin de clases en Java
class Coche {
// atributos:
String marca;
double vel_max;
int potencia;
String tipo_carburante;
double velocidad;
double aceleracion;
// mtodos:
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 definicin de la clase Coche
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 12
Clases
De cada clase pueden crearse mltiples objetos
Cada objeto tiene valores propios asignados a los
atributos: estado del objeto
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 13
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
Hay algunos bsicos (dependen del lenguaje de programacin)
int
boolean
double
String

Y otros los definen las clases
Objetos de una clase determinada
Definida por el usuario
De una librera
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 14
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
Se les solicita a los objetos que ejecuten mtodos
(operaciones)
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 15
Un programa en C++
main() {
Coche *c=new Coche(); // crea un objeto Coche
c-> arrancar // utiliza el objeto
// ...
dispose(c); // elimina el objeto
}
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 16
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 !
}
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 17
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 mtodos en objetos
Ver el cdigo de las clases de objetos
Crear un dibujo combinando varios objetos
Juan Pavn Mestras
Facultad de Informtica UCM, 2007-08
Programacin Orientada a Objetos 18
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

Вам также может понравиться