Programación orientada a objetos
-Aparece a finales de los 60, pero es a principios de los 80 cuando con el lenguaje Smalltalk comienza un interés claro hacia este paradigma.
-La programación orientada a objetos es el paradigma de programación y análisis y diseño de aplicaciones claramente dominante en la actualidad.
-Hoy prácticamente no se concibe un lenguaje de programación sin características de orientación aobjetos: Eiffel, C++, Java, C#, etc.
Las ventajas del paradigma OO son múltiples:
-Es intuitiva, describe un problema en términos similares a los que utiliza la
mente humana.
-Permite construir soluciones más seguras y con un mantenimiento más
sencillo.
-Fomenta la reutilización y el trabajo en equipo. Escalabilidad de las
aplicaciones.
Las características principales del paradigma OO:
-Incorpora los conceptos de abstracción, ocultación de información y
encapsulación heredados de los tipos de datos abstractos.
-Incorpora mecanismos específicos y extremadamente poderosos como son la
herencia, el polimorfismo y la ligadura dinámica
-Admite de manera muy natural en algunos lenguajes el soporte de genericidad
(patrones) y la definición de operadores. No soportados por Java.
El lenguaje Java
Desarrollado en los laboratorios de Sun, es uno de
los lenguajes de programación orientado a objetos
que mayor repercusión ha tenido en los últimos años.
-Basado en C++ pero simplificado, mucho más fácil de usar, de más alto nivel y
menos propenso a errores.
-Amplísima biblioteca estándar de clases predefinidas.
-Las aplicaciones Java pueden ser ejecutadas indistintamente en cualquier
plataforma sin necesidad de recompilación.
-Amplio espectro: programación tradicional, distribuida, GUI, Web, dispositivos
móviles, etc.
-Gestión avanzada de memoria mediante el uso de un recolector de basura.
-Gestión avanzada de errores, tanto en tiempo de compilación como de ejecución.
-Soporte sencillo de múltiples hebras de ejecución.
-Pueden integrarse módulos escritos en C/C++.
-Lenguaje abierto. Kits de desarrollo y documentación gratuitos en la red.
Existen distintas “ediciones” de Java para eldesarrollo de aplicaciones en distintos ámbitos:
-Aplicaciones de propósito general (JSE).
-Aplicaciones de gestión en entornos empresariales (JEE).
-Aplicaciones para teléfonos móviles, PDAs y otros dispositivos electrónicos
que permitan aplicaciones empotradas (JME).
La más utilizada es sin duda la edición estándar (JSE). Los ejemplos de código Java que veremos a lo largo de los siguientes tamas pertenecen a esta edición, aunque también utilizaremos algunas clases pertenecientes a JEE.