Sie sind auf Seite 1von 8

Objetos

 Los objetos son/representan cosas


 Los objetos pueden ser simples o complejos
 Los objetos pueden ser reales o imaginarios

Hola Mundo

Juan Pavón Mestras


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

 Marca
 Color
 Potencia
 Velocidad máxima
 Velocidad  Carburante
 Aceleración
 Capacidad de
combustible
constantes

variables

Juan Pavón Mestras


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)

Juan Pavón Mestras


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

Juan Pavón Mestras


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

Juan Pavón Mestras


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

Juan Pavón Mestras


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

Juan Pavón Mestras


Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 9

Definición de clases en C++

enum Carburante { void frenar() {


diesel, super, sinplomo // instrucciones para frenar el coche
}; };

class Coche { void acelerar() {


char* marca; // instrucciones para acelerar el coche
double vel_max; };
int potencia;
Carburante tipo_carburante; void girar_derecha(short grados) {
// instrucciones para girar a la derecha
double velocidad; };
double aceleracion;

public: // etc.
void arrancar() { }; // fin de definición de la clase Coche
// instrucciones para arrancar el coche
};

Juan Pavón Mestras


Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 10
Definición de clases en Java

class Coche { void frenar() {


// atributos: // instrucciones para frenar el coche
String marca; };
double vel_max;
void acelerar() {
int potencia;
// instrucciones para acelerar el coche
String tipo_carburante; };

double velocidad; void girar_derecha(short grados) {


double aceleracion; // instrucciones para girar a la derecha
};
// métodos:
void arrancar() {
// instrucciones para arrancar el coche // etc.
};
}; // fin de definición de la clase Coche

Juan Pavón Mestras


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

Juan Pavón Mestras


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

Juan Pavón Mestras


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)

Juan Pavón Mestras


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 // utiliza el objeto
// ...
dispose(c); // elimina el objeto
}

Juan Pavón Mestras


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 !
}

Juan Pavón Mestras


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

Juan Pavón Mestras


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

Juan Pavón Mestras


Facultad de Informática UCM, 2007-08 Programación Orientada a Objetos 18

Das könnte Ihnen auch gefallen