Vous êtes sur la page 1sur 9

Programacin Orientada a Objeto La programacin Orientada a Objetos es una metodologa que basa la estructura de los programas en torno a los

objetos. Los lenguajes de POO ofrecen medios y herramientas para describir los objetos manipulados por un programa. Ms que describir cada objeto individualmente, estos lenguajes proveen una construccin (Clase) que describe a un conjunto de objetos que poseen las mismas propiedades. aractersticas de la POO

Existe un acuerdo acerca de qu caractersticas contempla la "orientacin a objetos". Las caractersticas siguientes son las ms importantes: Abstraccin: denota las caractersticas esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cmo se implementan estas caractersticas. Los procesos, las funciones o los mtodos pueden tambin ser abstrados, y, cuando lo estn, una variedad de tcnicas son requeridas para ampliar una abstraccin. El proceso de abstraccin permite seleccionar las caractersticas relevantes dentro de un conjunto e identificar comportamientos comunes para definir nuevos tipos de entidades en el mundo real. La abstraccin es clave en el proceso de anlisis y diseo orientado a objetos, ya que mediante ella podemos llegar a armar un conjunto de clases que permitan modelar la realidad o el problema que se quiere atacar. Encapsulamiento: significa reunir todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultacin, principalmente porque se suelen emplear conjuntamente. Modularidad: se denomina modularidad a la propiedad que permite subdividir una aplicacin en partes ms pequeas (llamadas mdulos), cada una de las cuales debe ser tan independiente como sea posible de la aplicacin en s y de las restantes partes. Estos mdulos se pueden compilar por separado, pero tienen conexiones con otros mdulos. Al igual que la encapsulacin, los lenguajes soportan la modularidad de diversas formas. Principio de ocultacin: cada objeto est aislado del exterior, es un mdulo natural, y cada tipo de objeto expone una interfaz a otros objetos que especifica cmo pueden interactuar con los objetos de la clase. El aislamiento protege a las propiedades de un objeto contra su modificacin por quien no tenga derecho a acceder a ellas; solamente los propios mtodos internos del objeto

pueden acceder a su estado. Esto asegura que otros objetos no puedan cambiar el estado interno de un objeto de manera inesperada, eliminando efectos secundarios e interacciones inesperadas. Algunos lenguajes relajan esto, permitiendo un acceso directo a los datos internos del objeto de una manera controlada y limitando el grado de abstraccin. La aplicacin entera se reduce a un agregado o rompecabezas de objetos. Polimorfismo: comportamientos diferentes, asociados a objetos distintos, pueden compartir el mismo nombre; al llamarlos por ese nombre se utilizar el comportamiento correspondiente al objeto que se est usando. O, dicho de otro modo, las referencias y las colecciones de objetos pueden contener objetos de diferentes tipos, y la invocacin de un comportamiento en una referencia producir el comportamiento correcto para el tipo real del objeto referenciado. Cuando esto ocurre en "tiempo de ejecucin", esta ltima caracterstica se llama asignacin tarda o asignacin dinmica. Algunos lenguajes proporcionan medios ms estticos (en "tiempo de compilacin") de polimorfismo, tales como las plantillas y la sobrecarga de operadores de C++. Herencia: las clases no estn aisladas, sino que se relacionan entre s, formando una jerarqua de clasificacin. Los objetos heredan las propiedades y el comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento, permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en rboles o enrejados que reflejan un comportamiento comn. Cuando un objeto hereda de ms de una clase se dice que hay herencia mltiple. Recoleccin de basura: la recoleccin de basura o garbage collector es la tcnica por la cual el entorno de objetos se encarga de destruir automticamente, y por tanto desvincular la memoria asociada, los objetos que hayan quedado sin ninguna referencia a ellos. Esto significa que el programador no debe preocuparse por la asignacin o liberacin de memoria, ya que el entorno la asignar al crear un nuevo objeto y la liberar cuando nadie lo est usando. En la mayora de los lenguajes hbridos que se extendieron para soportar el Paradigma de Programacin Orientada a Objetos como C++ u Object Pascal, esta caracterstica no existe y la memoria debe desasignarse expresamente.

ABAP -> SAP Lenguaje orientado a eventos ABL Lenguaje de programacin de OpenEdge de Progress Software ActionScript ActionScript 3 Ada C++ C# Clarion

Clipper (lenguaje de programacin) (Versin 5.x con librera de objetos Class(y)) D Object Pascal (Embarcadero Delphi) Gambas Genie Harbour Eiffel Fortran 90/95 Java JavaScript (la herencia se realiza por medio de la programacin basada en prototipos) Lexico (en castellano) Objective-C Ocaml Oz R Perl (soporta herencia mltiple. La resolucin se realiza en preorden, pero puede modificarse al algoritmo linearization C3 por medio del mdulo Class::C3 en CPAN) PHP (a partir de su versin 5) PowerBuilder Python Ruby Self Smalltalk (Entorno de objetos puro) Magik (SmallWorld) Vala VB.NET Visual FoxPro (en su versin 6) Visual Basic 6.0 Visual DataFlex Visual Objects XBase++ Lenguaje DRP Lenguaje de programacin Scala (lenguaje usado por Twitter) http://www.scalalang.org/page.jsp

java mente desarrollado por James Gosling de Sun Microsystems (la cual fue adquirida por la compaa Oracle) y publicado en el 1995 como un componente fundamental de la plataforma Java de Sun Microsystems. El lenguaje deriva mucho de su sintaxis de C y C++, pero tiene menos facilidades de bajo nivel que cualquiera de ellos. Las aplicaciones de Java son generalmente compiladas a bytecode (clase Java) que puede correr en cualquier mquina virtual Java (JVM) sin importar la arquitectura de la computadora. Java es un lenguaje de programacin de propsito

general, concurrente, basado en clases, y orientado a objetos, que fue diseado especficamente para tener tan pocas dependencias de implementacin como fuera posible. Su intencin es permitir que los desarrolladores de aplicaciones escriban el programa una vez y lo ejecuten en cualquier dispositivo (conocido en ingls como WORA, o "write once, run anywhere"), lo que quiere decir que el cdigo que es ejecutado en una plataforma no tiene que ser recompilado para correr en otra. Java es, a partir del 2012, uno de los lenguajes de programacin ms populares en uso, particularmente para aplicaciones de cliente-servidor de web, con unos 10 millones de usuarios reportados.

caractersticas de Java Las caractersticas principalesque nos ofrece Java son: 1.- Lenguaje Simple: Se lo conoce como lenguaje simpleporque viene de la misma estructura de c y c++; ya que c++ fue un referentepara la creacin de java por eso utiliza determinadas caractersticas de c++ yse han eliminado otras. 2.- Orientado a Objeto: Toda la programacin en java ensu mayora est orientada a objeto, ya que al estar agrupados en estructurasenestructuras encapsuladas es ms fcil su manipulacin. 3.- Distribuido: Permite abrir sockets, establecery aceptar conexiones con los servidores o clientes remotos; facilita lacreacin de aplicaciones distribuidas ya que proporciona una coleccin declases para aplicaciones en red. 4.- Robusto: Es altamente fiable encomparacin con c, se han eliminadomuchas caractersticas con la aritmtica de punteros, proporciona numerosascomprobaciones en compilacin y en tiempo de ejecucin. 5.- Seguro: La seguridad es unacaracterstica muy importante en java ya que se han implementado barreras deseguridad en el lenguaje y en el sistema de ejecucin de tiempo real. 6.- Indiferente a laarquitectura: Java es compatible con los msvariados entornos de red, cualquiera sean estos desde Windows 95, Unix aWindows Nt y Mac, para poder trabajarcon diferentes sistemas operativos.

Java es muy verstil ya queutiliza byte-codes que es un formato intermedio que sirve para transportar elcdigo eficientemente o de diferentes plataformas (Hardware - Software). 7.- Portable: Por ser indiferente a laarquitectura sobre la cual est trabajando, esto hace que su portabilidad seamuy eficiente, sus programas son iguales en cualquiera de las plataformas, yaque java especifica tamaos bsicos, esto se conoce como la mquina virtual dejava. 8.- Interpretado y compilado a lavez: Java puede ser compilado einterpretado en tiempo real, ya que cuando se construye el cdigo fuente este setransforma en una especie de cdigo de mquina.

9.- Multihebra o Multihilos: Java tiene una facilidad decumplir varias funciones al mismo tiempo, gracias a su funcin de multahilos ya que por cada hilo que elprograma tenga se ejecutaran en tiempo real muchas funciones al mismo tiempo. 10.- Dinmico: El lenguaje java es muy dinmicoen la fase de enlazado, sus clases solamente actuaran en medida en que sean requeridas o necesitadas con estopermitir que los enlaces se puedan incluir incluso desde fuentes muy variadaso desde la red. 11.- Produce Applets: En java se pueden crearaplicaciones independientes y applets. Independientes porque se puedencomportar como cualquier programa escrito en cualquier lenguaje. Por otra parte los appletsconsiderados pequeos programas, tienen la capacidad de ejecutar funciones muycomplejas. 12.- Alto rendimiento Java es considerado de altorendimiento por ser tan veloz en elmomento de correr los programas y por ahorrase muchas lneas de cdigo.

Ventajas de Java
Java tiene muchas ventajas, entre estas tenemos que Java es un lenguaje multiplataforma, lo que quiere decir que se ejecuta en la mayoria de los sistemas

operativos, inclusive en sistemas operativos mobiles. Otra ventaja es que java es un software de distribucin libre, no es necesario pagar una licencia para poder comenzar a desarrollar en este lenguaje. Asi mismo es un lenguaje muy completo y poderoso, se pueden realizar muchas tareas con el, pues posee una libreria y utilidades muy completas que facilitan la programacin.

Desventajas de Java
Asi como este lenguaje tiene ventajas, tambien tiene desventajas, una de ellas esque puede ser un lenguaje de ejecucin lenta, debido al uso de la maquina virtual de Java, a diferencia de otros lenguajes de programacin de mas bajo nivel como lo es C, su velocidad de ejecucin disminuye drasticamente al compararse con este lenguaje. Otra desventaja es que Java es considerado un lenguaje dificil de aprender, esto debido a su compleja sintaxis, sin embargo la estructura de este lenguaje es completa y organizada y semejante a el lenguaje de C++, por lo que si se tiene conocimiento previo en C++, Java no deberia de ser un lenguaje dificil de aprender.

estructura de un programa en java

operadores Operadores Aritmticos: Los habituales

Suma + .

Resta - . Multiplicacin * . Divisin / . Resto de la Divisin % . Operadores de Asignacin: El principal es '=' pero hay ms operadores de asignacin con distintas funciones que explicamos brevemente ahora. '+=' : op1 += op2 op1 = op1 + op2 '-=' : op1 -= op2 op1 = op1 - op2 '*=' : op1 *= op2 op1 = op1 * op2 '/=' : op1 /= op2 op1 = op1 / op2 '%=' : op1 %= op2 op1 = op1 % op2 Operadores Unarios: El mas (+) y el menos (-). Para cambiar el signo del operando.

Operador Instanceof: Nos permite saber si un objeto pertenece a una clase o no. NombreObjeto instanceof NombreClase Operadores Incrementales: Son los operadores que nos permiten incrementar las variables en una unidad. Se pueden usar delante y detrs de la variable dependiendo de lo que queramos, es decir, si queremos que incremente o viceversa antes de utilizar o lo contrario. '++' '--' Operadores Relacionales: Permiten comparar variables segn relacin de igualdad/desigualdad o relaccin mayor/menor. Devuelven siempre un valor boolean. '>': '<': '==': '=': Mayor que Menor que Iguales Distintos

'>=': Mayor o igual que

'<=':

Menor o igual que

Operadores Lgicos: Nos permiten construir expresiones lgicas. '&&' : devuelve true si ambos operandos son true.

'||' : devuelve true si alguno de los operandos son true. '!' : Niega el operando que se le pasa. '&' : devuelve true si ambos operandos son true, evalundolos ambos. '|' : devuelve true uno de los operandos es true, evalundolos ambos. Operador de concatenacin con cadena de caracteres '+': Por Ejemplo: System.out.println("El total es"+ result +"unidades"); Operadores que actan a nivel de bits: Son mucho menos utilizados por eso los explicamos mas por encima. '>>': desplazamiento a la derecha de los bits del operando '<<': desplazamiento a la izquierda de los bits de operando '&': operador and a nivel de bit. '|': operador or a nivel de bit

metodos
Java como todo lenguaje de programacin orientado a objetos utiliza los llamados metodos. Acontinuacin veremos como se crea un metodo y como se utilizan. Se podria decir que existen 2 grandes tipos de metodos, el primer tipo de metodo son metodos que realizan procesos, puedes realizar cualquier operacin con ellos, sin embargo el proposito es manipular variables existentes. El segundo tipo de metodos son los que realizan un proceso o calculo, y calculan una variable especifica, un ejemplo podria ser un metodo para obtener el valor de una multiplicacin.

Estructura de un metodo
Los metodos en java pueden tener parametros, es decir, que un metodo puede utilizar variables predefinidas para ser utilizadas en sus procesos, Veamos un ejemplo de como hacer un metodo en el siguiente ejemplo

En este ejemplo vemos un programa normal en el cual se ejecuta un ciclo while que imprime numeros del 0 al 7, pero es posible hacerlo utilizando un metodo?

Vous aimerez peut-être aussi