Você está na página 1de 4

Programacin orientada a objeto

La programacin orientada a objetos o POO (OOP segn sus siglas en ingls) es un paradigma de programacin que usa los objetos en sus interacciones, para disear aplicaciones y programas informticos. Est basado en varias tcnicas, incluyendo herencia, cohesin, abstraccin, polimorfismo, acoplamiento y encapsulamiento . Su uso se populariz a principios de la dcada de los aos 1990. En la actualidad, existe variedad de lenguajes de programacin que soportan la orientacin a objetos.

Herencia:
La herencia es un mecanismo de la OOP que permite construir una clase incorporando de manera implcita todas las caractersticas de una clase previamente existente. (Nos permite crear un objeto nuevo en base a uno existente, es una nueva clase de objeto, puede utilizar el alojamiento de otros objetos como propiedades para adquirir funcionalidad.) . Las razones que justifican su necesidad son variadas: Modelado de la realidad. Son frecuentes las relaciones especializacin/generalizacin entre las entidades del mundo real, por tanto lgico que dispongamos de un mecanismo similar entre las clases de objetos Evitar redundancias. Toda la funcionalidad que aporta una clase de objetos adoptada de manera inmediata por la clase que hereda, por tanto evitamos repeticin de cdigo entre clases semejantes Facilitar la reutilizacin. Una clase no tiene por qu limitarse a recibir una serie caractersticas de otra clase por herencia de forma pasiva. Tambin disponen cierto margen de adaptacin de estas caractersticas de es es la de de

Propiedades:
Una propiedad es un miembro con nombre de una clase, estructura o interfaz que ofrece una forma ordenada de tener acceso a campos privados mediante lo que se denomina mtodos de descriptor de acceso get y set.

Objetos:
Son la parte ejecutable de la programacin orientada a objetos. Se manejan a travs de variables. Pertenecen a una clase. Creacin de objetos En Java los objetos se crean nicamente de forma dinmica. Para ello se utiliza el operador new, de manera similar a C++ Los objetos en Java se utilizan siempre a travs de referencias. Las referencias son similares a los punteros de C/C++, aunque su uso es mucho ms sencillo Por tanto los pasos a seguir en la creacin de un objeto son: Declarar una referencia a la clase Crear un objeto mediante el operador new invocando al constructor adecuado Conectar el objeto con la referencia

Clases:
Una clase es el producto de enfocar la programacin a los datos mas que a las funciones. Por tanto una clase es una coleccin de datos y adems para operar con ellos una serie de funciones propias de la clase. Cuando declaracin una clase lo permite que ponemos es la cabecera: Public class Ficha {(cuerpo de la clase)} Son la plantilla a partir de la cual se crean los objetos o Formadas por: Nombre Atributos Mtodos

Mtodo:
Los mtodos son la forma de comunicarse con la clase para pedirle que haga cosas (servicios) pblicos o privados. De manera general, la declaracin de un mtodo en java es de la forma. modo_acceso modificadores tipo_retorno nombre_metodo (argumentos) { Cuerpo del mtodo } Donde a) modo_acceso: Public, prvate, protected No es obligatorio especificarlo, pero es conveniente b) Modificadores: static, abstract, final, native, synchronized No es obligatorio usarlos c) El tipo de retorno s es obligatorio. Si no se devuelve nada se usa la palabra reservada void d) Si no hay argumentos no se pone nada entre los parntesis

Polimorfismo:
Son dos mecanismos relacionados que otorgan a la OOP una gran potencia frente a otros paradigmas de programacin. nicamente tienen sentido por la existencia de la herencia. El polimorfismo (o upcasting) consiste en la posibilidad de que una referencia a objetos de una clase pueda conectarse tambin con objetos de descendientes.

Encapsulamiento:
A esto le llamamos flexibilidad y capacidad de mantenimiento, ambas son caractersticas y beneficios de la programacin Orientada a Objetos (OO) pero para que una clase pueda cumplir dichas funciones los programadores debemos de hacer algo. Imaginemos que creamos una clase con variables de instancia pblicas a las cuales podemos acceder sin problemas desde fuera de la misma clase.

public class MiClase{ public int tipo; } class AccesoDirecto{ public static void main(String[] args){ MiClase mc = new MiClase(); mc.tipo = -5; //1 } } Si se desea flexibilidad, buen mantenimiento y extensibilidad, nuestro diseo en el cdigo debe de incluir encapsulamiento, para ello debemos de hacer lo siguiente: Mantener las variables de instancia protegidas (puede ser con un modificador de acceso, p.ej., prvate) Hacer mtodos de acceso pblicos para forzar al acceso a las variables por medio de dichos mtodos en lugar de acceder directamente. Utilizar las convenciones de cdigo para los nombres de los mtodos, p. ej., set y get. El ejemplo encapsulamiento quedara as: public class MiClase{ private int tipo; public void setTipo(int t){ tipo = t; } public int getTipo(){ return tipo; } } class AccesoIndirecto{ public static void main(String[] args){ MiClase mc = new MiClase(); mc.setTipo(5); System.out.println("El tipo es:" + mc.getTipo()); } }

Eventos:
El evento es una accin iniciada por un usuario. Ejemplo de evento son: presionar un botn, cambiar un texto, etc. Cada vez que se produce un evento, se crea un objetivo. La clase padre de os eventos es: java.awt.Evento Tipos de eventos ComponentEvent: Se producir este tipo de evento cuando el usuario mueva o redimensione un componente. FocusEvent: Se producir este tipo de evento cuando se cambie el foco de un componente. KeyEvent: se producir cuando el usuario pulse una tecla. MouseEvent: Se producir cuando el usuario efecte un movimiento con el ratn o haga un clic. ContainerEvent: se producir cuando se aadan o eliminen componentes en el contenedor. WindowEvent: se producir cuando se realice algn tipo de operacin con la ventana como abrirla y cerrarla. ActionEvent: Se producir cuando se efecte alguna accin sobre un componente, como por ejemplo: la pulsacin de un botn. AdjustmentEvent: Se ajusta algn valor de un componente. ItemEvent: Se ha modificado el estado de algn elemento que pertenece al componente TextEvent: El contenido de texto de algn componente ha cambiado.