Está en la página 1de 26

Introduccin a la Programacin Orientada a Objetos

Programa: Tcnico en Programacin de Software

Programacin Orientada a Objetos


2.1 Orgenes El tiempo transcurrido entre el desarrollo convencional del software y el desarrollo orientado a objetos, no se solapa. Hay ms de 25 aos, surgi con el lenguaje Simula, en Noruega, aunque comercialmente se ha difundido recientemente. Simula es acrnimo de simulacin lenguaje y fue creado para soportar simulaciones, por O. J. Dahl yKristen Nygaard. Su propsito fue la simulacin de sistemas fsicos complejos con muchos cientos de componentes. En Simula los mdulos no se basan en procedimientos como en la programacin convencional, sino en los objetos fsicos que se modelan en la simulacin.
IAGP 2

Programacin Orientada a Objetos


Los objetos del mundo real pueden exhibir una variedad infinita de efectos sobre otros, creando, destruyendo, levantando, uniendo, comprando, doblndose, enviando, etc.
Esta gran variedad suscita un problema: Cmo se representar en software las diversas clases de interacciones ? pueden

Los autores de Simula lograron una solucin elegante a este problema: el mensaje. Los objetos interaccionan el uno con el otro con mensajes que piden que los objetos realicen sus mtodos.
Un mensaje es simplemente el nombre de un objeto seguido por el nombre de un mtodo que el objeto sabe ejecutar. Si un mtodo requiere alguna informacin adicional para saber qu hacer, el mensaje incluye la informacin como parmetros.

IAGP

Programacin Orientada a Objetos


El objeto que inicia un mensaje se llama el remitente de ese mensaje, y el objeto que recibe el mensaje se llama el receptor. El hecho de que los mtodos estn asociados siempre a objetos especficos tiene un efecto secundario interesante que resulta ser ventajoso. Diversos objetos pueden responder al mismo mensaje genrico, pero cada objeto puede interpretar el mensaje de una manera distinta. Por ejemplo, un objeto camin podra poner en ejecucin su propia versin del mensaje mueve_A, al igual que una nave, un tren, un avin, una persona, o cualquier cosa que se mueva. En el mundo real la manera en que estos objetos determinan sus rutas, planean sus movimientos, y realizan estos desplazamientos se diferencia radicalmente, pero todos entenderan una peticin comn de ir a un destino especificado.

Programacin Orientada a Objetos

Continuacin
Clases y Java
La clase es la base de la Programacin Orientada a Objetos. Cualquier concepto que se desee representar en un programa Java debe ser modelado con una clase. Una clase es una plantilla o modelo de un objeto. En ella se definen los

atributos y los comportamientos de un tipo de objeto.

Al definir una clase debo especificar los datos que contiene (atributos) y el cdigo que opera sobre ellos (mtodos). Los mtodos definen la interfaz con la que se manejaran los datos.

Programacin Orientada a Objetos Clases y Java Las variables y los metodos de una clase se conocen como miembros de la clase. Las clases que son el punto de partida para la ejecucin del programa llevan un mtodo main().

Definicin de Clases en Java


acceso class <nombre de la clase> {// atributos acceso tipo variable-1 ; acceso tipo variable-2; .... acceso tipo de variable-n; //metodos acceso tipo nombre_metodo1(lista de parmetros){ cuerpo del metodo } .... acceso tipo nombre_metodo1(lista de parmetros){ cuerpo del metodo } } //fin de la clase

Control de Acceso

Public: el miembro puede ser accedido por cualquier programa del paquete. Private: solo puede ser accedido por los miembros de la clase donde se define. Por definicin de encapsulamiento, los atributos de una clase

deben ser privados.


Protected: puede ser accedido por su paquete y en las subclases de esta clase. Por definicin de herencia, los atributos que deben heredar las subclases, deben ser protected.

(por defecto): El acceso por defecto es public para el paquete.

Creando una clase


Suponga que tenemos la clase CPersona.

Podemos definirla as:


public class CPersona {

private String nombre;


private int edad; private double sueldo;

Declarando un objeto Para declarar un objeto de esta clase, se ubicarn en la clase que

contiene el mtodo main, y declarar el objeto de la siguiente


manera: CPersona humano1; // tipo-de-dato-abstracto nombre-objeto

Una vez declarado, cmo podremos hacer referencia a cada una


de las variables de la clase ? Tenemos que programar mtodos que me permitan acceder los

atributos de la clase. Estos mtodos se programan en la clase que


se est creando, en nuestro caso cpersona.

Accesando un objeto

Debemos tener mtodos selectores y modificadores.


Los selectores, permiten conocer el valor de los atributos de una clase.

Los modificadores, permiten modificar los valores de los


atributos de una clase.

Declarando y creando un objeto


Cuando se declara una variable de cualquiera de los tipos primitivos, se reserva el espacio de memoria correspondiente como parte de la operacin.
La declaracin de una variable utilizando una clase como String o cualquier clase definidia por el ususario (cpersona), no reserva espacio de memoria para ella, por eso antes de usarla se debe crear ese espacio.
CPersona humano1; //se declara el objeto humano1 humano1 = new CPersona(); // se crea el espacio en memoria

Es importante recordar !!!!!! La declaracin reserva espacio solo para la referencia a memoria, la segunda sentencia reserva el espacio para cada una de las variables miembros de la clase.

Recordando
int x = 7; int y = x; String s = Hola; String t = s;

Tabla de memoria

X Y S t

Hola

7 0x1234567 0x1234567

Declarando y creando un objeto CPersona humano1;


humano1 = new CPersona()

humano1
nombre edad

?????? x01abcdef

Accesando un objeto
Declarar y crear.... cpersona humano1; humano1 = new cpersona(); Una vez declarado podemos hacer referencia a cada una de las variables de la clase usando la notacin punto, asi:

humano1.setNombre ( Pedro);
humano1.setCedula (12341025); System.out.println(humano1.getCedula());

Qu pasa en memoria ?

CPersona humano1; humano1 = new CPersona( ); humano1 cedula nombre sueldo

x01abcdef
7802452

humano1.setCedula(7802452);

System.out.println(humano1.getCedula( ));

+getcedula( ):entero +getnombre( ):cadena +getsueldo( ):decimal +setcedula(ced:entero) +setnombre(nom:cadena) +aumentoSueldo(sue:decimal)

Debemos recordar

Tener una carpeta, para colocar todas las clases.

Preferiblemente para cada clase, se debe crear un archivo.

Debe haber una clase para la aplicacin principal.

Variables y su tiempo de vida


Hemos estudiado dos tipos de variables: las de tipo primitivo y las de

referencia a objetos.
Hemos visto dos lugares donde se pueden declarar las variables: dentro de un mtodo y como miembros de una clase. Las variables declaradas dentro de un mtodo se denominan temporales

o locales. Estas se crean cuando se comienza a ejecutar el metodo y se


destruyen al finalizar esta. Las variables miembros de una clases continan existiendo entre tanto se necesite utilizar el objeto.

Ejemplo: Clases y Objetos


Punto -Clase Circulo -Clase Triangulo -Clase Practica5a
-Clase

.22

Mtodo Main de las clases

22/11/2005

E.T.S de Ingenieros de Telecomunicacin - UPNA

.24

Diagrama de clases

22/11/2005

E.T.S de Ingenieros de Telecomunicacin - UPNA

.25

Ejercicios
Un vehculo puede ser caracterizado por: modelo, marca, ao, kilometraje, capacidad de pasajeros entre otros.
CVehiculo -String _modelo -String _marca -int _ao -double _kilometros -int _capacidad
+ getModelo() : String + getMarca(): String + getAo(): int + getKilometros(): double + getCapacidad(): int + setModelo(String st) + setMarca (String st ) + setAo(int num) + setKilometros(double kil) + setCapacidad(int cap)

1. Defina una clase en Java llamada CVehiculo


que represente esta idea. 2. Crear una aplicacin y en ella crear dos objetos de tipo Cvehiculo, darle valores a cada uno. 3. Programar en la clase Cvehiculo el mtodo mostrar, que se encargue de mostrar todos los atributos del objeto. 4. En la aplicacin utilizar el mtodo mostrar para poder visualizar las caractersticas de cada objeto creado en ella.

También podría gustarte