Você está na página 1de 19

Todo sobre Programacin Orientada a Objetos POO

La POO es un paradigma, es otra forma de pensar , es una filosofa nica a diferencia de un Lenguaje de Programacin Orientado a Objetos el cual existen muchos y permiten hacer uso de ese paradigma con el animo de solucionar problemas reales mediante la abstraccin de los diferentes agentes, entidades o elementos que actan en el planteamiento de un problema. Ejemplo: a. Problema: Una persona necesita ver televisin. b. Solucin: Existen 3 elementos o agentes que se pueden abstraer del problema:

En el problema planteado se especifican 3 elementos involucrados. Cada elemento posee sus propias caractersticas y sus propios comportamientos. En POO a estos elementos se les conoce bajo el nombre de OBJETOS. En POO a las caractersticas que identifican a cada objeto se le denominan ATRIBUTOS y a los comportamientos se les denominan METODOS.

Reusabilidad. Cuando hemos diseado adecuadamente las clases, se pueden usar en distintas partes del programa y en numerosos proyectos. Mantenibilidad. Debido a las sencillez para abstraer el problema, los programas orientados a objetos son ms sencillos de leer y comprender, pues nos permiten ocultar detalles de implementacin dejando visibles slo aquellos detalles ms relevantes. Modificabilidad. La facilidad de aadir, suprimir o modificar nuevos objetos nos permite hacer modificaciones de una forma muy sencilla. Fiabilidad. Al dividir el problema en partes ms pequeas podemos probarlas de manera independiente y aislar mucho ms fcilmente los posibles errores que puedan surgir.

Cambio en la forma de pensar de la programacin tradicional a la orientada a objetos. La ejecucin de programas orientados a objetos es ms lenta. La necesidad de utilizar bibliotecas de clases obliga a su aprendizaje y entrenamiento.

Una CLASE es una plantilla mediante la cual se crean los diferentes objetos requeridos para la solucin del problema. Los Objetos son instancias de las clases. Las clases son a los objetos como los tipos de datos son a las variables. Ejemplo: Se puede crear un objeto llamado Cesar. Este objeto es creado a partir de la clase Persona. Se puede crear otro objeto llamado: Patricia el cual pertenece a la clase Persona. Significa que a partir de la clase se pueden crear los objetos que se deseen. Ejemplo: Se puede crear un objeto llamado LCD LG, el cual pertenece a la clase Televisor.

Es una instancia de una clase. Por lo tanto, los objetos hacen uso de los Atributos (variables) y Mtodos (Funciones y Procedimientos) de su correspondiente Clase. Es una variable de tipo clase. Por ejemplo: El objeto Cesar es un objeto de tipo Clase: Persona.

Permiten modelar entidades del mundo real. Por ejemplo: LCD LG pertenece a la clase Televisor. Resumiendo la clase televisor seria: Ejemplo:
mov_tools mt = new mov_tools(); Con la palabra new especificamos que se tiene que crear una instancia de la clase que sigue a continuacin. (El objeto es mt) Dentro de los parntesis podramos colocar parmetros con los que inicializar el objeto de la clase coche.

Se pretende modelar un objeto llamado CARRO el cual existe en el mundo real. Este objeto tiene unos atributos o variables: Vel_Max, Color, No_chasis, No_puertas, No._llantas, tipo. Unos comportamientos y mtodos: Acelerar (velocidad), Frenar (velocidad), mover_cambio (No_cambio), CLASE CARRO
ATRIBUTOS Vel_max. De tipo decimal. Color. De tipo cadena No_chasis. De tipo cadena. No_puertas. De tipo entero. No_llantas. De tipo entero. METODOS
Acelerar (Velocidad) Frenar (Velocidad) Mover_cambio (No_cambio) Girar_derecha ( ) Girar_izquierda ( )

Cuando tenemos un objeto sus propiedades toman valores. Por ejemplo, cuando tenemos un coche la propiedad color tomar un valor en concreto, como por ejemplo rojo o gris metalizado. El valor concreto de una propiedad de un objeto se llama estado.

Para acceder a un estado de un objeto para ver su valor o cambiarlo se utiliza el operador punto. miCoche.color = rojo
El objeto es miCoche, luego colocamos el operador punto y por ltimo el nombre e la propiedad a la que deseamos acceder. En este ejemplo estamos cambiando el valor del estado de la propiedad del objeto a rojo con una simple asignacin.

Un objeto sin comunicacin con el mundo exterior no es de utilidad. La idea no es crear islas de objetos si no objetos relacionados. Los objetos interactan entre ellos mediante mensajes. Cuando un objeto A quiere que otro objeto B ejecute una de sus funciones o procedimientos miembro (Mtodos de B), el objeto A manda un mensaje al objeto B.

Los comportamientos pueden ser identificados bajo el mismo nombre pero procesan informacin de manera diferente de acuerdo al objeto que lo contenga.

Los comportamientos pueden ser identificados bajo el mismo nombre pero procesan informacin de manera diferente de acuerdo al objeto que lo contenga.

El mecanismo de herencia permite definir nuevas clases partiendo de otras ya existentes. Las clases que derivan de otras heredan automticamente todo su comportamiento, pero adems pueden introducir caractersticas particulares propias que las diferencian.
ANIMAL

MAMIFERO

MAMIFERO

MAMIFERO

MAMIFERO

MAMIFERO

MAMIFERO

Es una clase especial que declara un conjunto de variables estticas y mtodos, si bien los mtodos slo tienen declaracin, sustituyendo el cuerpo del mtodo por un punto y como, esto supone que tendr que hacer otra clase que implemente o instrumente los mtodos con los algoritmos correspondientes. Una interfaces, por su caracterstica de contener variables estticas, tambin se puede utilizar como almacn de valores constantes accesibles por todas las clases que lo implementen. Ejemplo:
Interface MiInterface{ public double miMetodo (String miNombre); public String miSegundoMetodo(); public static final double PI = 3.1416; }

Una interface debe ser instrumentada por una o ms clases que definen los mtodos particulares para cada clase declarados en la interface. Todos los mtodos que declara la interface deben ser definidos en todas las clases que implementen esta interface.

Public class Mi Clase implements MiInterface{ public double miMetodo (String miNombre){ //cdigo que implementa el mtodo } public String miSegundoMetodo(){ //cdigo que implementa el mtodo } public void OtrosMetodos() { //cdigo que implementa el mtodo } } //Tambin pueden implementarse varias interfaces: public class Miclase extends Misuper implements MiInterface1, MiInterface2{ }

Permiten controlar la forma de acceder a los atributos y mtodos encapsulados dentro de una clase.
TIPOS:
PUBLICO: Cualquier atributo o mtodo Publico puede se accedido desde fuera de la clase. Se representa por (+). PRIVADO: Cualquier atributo o mtodo Privado NO puede se accedido desde fuera de la clase. Solo puede ser utilizado internamente en la clase. Se representa por ( - ).

PROTEGIDO: Cualquier atributo o mtodo Protegido puede ser heredado por otra clase pero en esta ultima se convierten en elementos Privados. Se representa por ( # ).

public class ajustes_mov { int codigo, almacen, codicons; public static int numero_reg; String tipre, persona; Float cant, costo; ResultSet rs; Object data[][]; public void captura (int cod, String almacen2, String tipree){ codigo = cod; almacen = Integer.parseInt(almacen2); tipre = tipree; } }

Las clases:
public class Cliente { public String nombre = ""; public void mostrar_nombre(){ public class Cliente_moroso extends Cliente { public double deuda = 0.0; }

System.out.println(nombre); } ClienteMoroso hereda los atributos y mtodos pblicos de la clase La clase: } Cliente. public class Polimorfismo_ejemplo1 { public static void main(String[] args) { Cliente cli = new Cliente(); Cliente_moroso cliM = new Cliente_moroso(); cli.nombre = "Juan Luis"; cliM.nombre = "Jose"; cli.mostrar_nombre(); cliM.mostrar_nombre(); }

Inquietudes, Dudas!

Você também pode gostar