El concepto de applet
Los applets son
pequeñas aplicaciones escritas en Java que se incluye en páginas Web
(HTML) y que se puede ejecutar en cualquier navegador que disponga de un
intérprete Java, sin que para su uso necesite intercambiar Información con el
servidor ya que siempre se ejecuta en el “cliente”.
Un applet es un
componente de una aplicación que corre en el contexto de otro programa, por
ejemplo un navegador web. El applet debe correr en un contenedor, que lo
proporciona un programa anfitrión, mediante un plugin.
Por otra parte, la
diferencia entre una aplicación JAVA y un applet radica en cómo se ejecutan.
Para cargar una aplicación JAVA se utiliza el intérprete de JAVA (pcGRASP de
Auburn University, Visual J++ de Microsoft, Forte de Sun de Visual Café). En
cambio, un applet se puede cargar y ejecutar desde cualquier explorador que
soporte JAVA.
Definición de clase y objeto
Una clase es la evolución natural de una estructura, la existencia de
clases es la característica más significativa que convierte a C++ en un
lenguaje orientado a objetos. Las clases son estructuras que contienen no sólo
declaraciones de datos, sino también declaraciones de funciones. Las funciones
se conocen como funciones miembro, e indican qué tipos de cosas puede hacer una
clase. La palabra reservada class
introduce una declaración de clase.
Objeto
Un objeto es
una instancia de una clase, creada en tiempo de ejecución. Es una estructura de
datos formada por tantos campos como atributos tiene la clase. El estado de un objeto
viene dado por el valor de los campos. Los métodos permiten consultar y modificar el estado
del objeto.
El entorno de
desarrollo de Java
Existen distintos programas comerciales que
permiten desarrollar código Java. La compañía Sun. Creadora de Java. Distribuye
gratuitamente el Java(tm) Development Kit JDK). Se trata de un conjunto de
programas y librerías que permiten desarrollar, compilar y ejecutar programas
en Java. Incorpora además la posibilidad de ejecutar parcialmente el programa. Deteniendo
la ejecución en el punto deseado y estudiando en cada momento el valor de cada
una de las variables (con el denominado Debugger). Cualquier programador con un
mínimo de experiencia sabe que una parte muy importante (muchas veces la mayor
parte) del tiempo destinado a la elaboración de un programa se destina a la
detección y corrección de errores. Existe también una versión reducida del JDK,
denominada JRE (Java Run Urne Environment) destinada únicamente a ejecutar
código Java (no permite compilar).
Los
IDES (Integrated Developnieizi Environnient). Tal y como su nombre indica. Son
entornos de desarrollo integrados. En un mismo programa es posible escribir el
código Java. Compilarlo y ejecutarlo sin tener que cambiar de aplicación.
Algunos incluyen una herramienta para realizar Debug gráficamente, frente a Ia
versión que incorpora el JDK basada en la utilización de una consola
(denominada habitualmente ventana de comandos de MS-DOS. en Windows NT/95/98)
bastante difícil y pesada de utilizar. Estos entornos integrados permiten
desarrollar las aplicaciones de
forma mucho más rápida. Incorporando en muchos casos librerías con componentes
ya desarrollados, los cuales se
incorporan al proyecto o programa. Como inconvenientes se pueden señalar
algunos fallos de compatibilidad entre plataformas. y ficheros resultantes de
mayor tamaño que los basados en clases estándar.
Características de
la Programación Orientada a Objetos (POO)
La POO representa una
metodología de programación que se basa en las siguientes características:
1) Los diseñadores definen
nuevas clases (o tipos) de objetos.
2) Los objetos poseen una
serie de operaciones asociadas a ellos.
3) Las operaciones tienden a
ser genéricas, es decir, operan sobre múltiples tipos de datos.
4) Las clases o tipos de
objetos comparten componentes comunes mediante mecanismos de herencia.
Objeto: Una estructura de datos y conjunto de
procedimientos que operan sobre dicha estructura.
Una definición más completa de objeto es: una entidad de programa que
consiste en datos y todos aquellos
procedimientos que pueden manipular aquellos datos; el acceso a los datos de un objeto es solamente a través
de estos procedimientos, únicamente estos
procedimientos pueden manipular, referenciar y/o modificar estos datos
Clase: Podemos considerar una clase como una colección
de objetos que poseen características y
operaciones comunes. Una clase contiene toda la información necesaria para crear nuevos objetos.
Encapsulación: Es una técnica que permite localizar y
ocultar los detalles de un objeto. La encapsulación
previene que un objeto sea manipulado por operaciones distintas de las definidas.
La encapsulación es como una caja negra que esconde los datos y solamente permite
acceder a ellos de forma controlada.
Las principales razones técnicas
para la utilización de la encapsulación son:
1) Mantener a salvo los
detalles de representación, si solamente nos interesa el comportamiento del
objeto.
2) Modificar y ajustar la
representación a mejores soluciones algorítmicas o a nuevas tecnologías de
software.
Abstracción: En el sentido más general, una abstracción
es una representación concisa de una idea o de un objeto complicado. En un
sentido más específico, la abstracción localiza y oculta los detalles de un
modelo o diseño para generar y manipular objetos. Una abstracción tiene un
significado más general que la encapsulación, pudiendo hablar de Abstracción de
datos en lugar de encapsulación de datos. Como resumen de los 3 conceptos
expuestos anteriormente podemos decir que:
1) Los objetos son
encapsulaciones de abstracciones en la POO.
2) La unidad de encapsulación
en la POO es el objeto.
Una clase es un tipo: Un
objeto es una instancia de ese tipo. Además, la clase es un concepto estático:
una clase es un elemento reconocible en el texto del programa.
Un objeto es un concepto
puramente dinámico, el cual pertenece, no al texto del programa, sino a la
memoria de la computadora, donde los objetos ocupan un espacio en tiempo de ejecución
una vez que haya sido creado.
La programación orientada a
objetos, ha tomado las mejores ideas de la programación estructurada y los ha
combinado con varios conceptos nuevos y potentes que incitan a contemplar las
tareas de programación desde un nuevo punto de vista. La programación orientada
a objetos, permite descomponer más fácilmente un problema en subgrupos de partes relacionadas del problema. Entonces,
utilizando el lenguaje se pueden traducir estos subgrupos a unidades auto
contenidas llamadas objetos.
Objetos: Un objeto es una entidad lógica que contiene
datos y un código que manipula estos datos; el enlazado de código y de datos,
de esta manera suele denominarse encapsulación. Cuando se define un objeto, se
esta creando implícitamente un nuevo tipo de datos.
Polimorfismo: Significa que un nombre se puede utilizar
para especificar una clase genérica de acciones.
Herencia: La herencia es un proceso mediante el cual
un objeto puede adquirir las propiedades de otro objeto.
Programación Orientada a Objetos (POO)
La programación orientada a
objetos, ha tomado las mejores ideas de la
programación estructurada y los ha combinado con varios conceptos nuevos y potentes que incitan a contemplar
las tareas de programación desde un
nuevo punto de vista. La programación orientada a objetos, permite descomponer más fácilmente un
problema en subgrupos de partes relacionadas
del problema. Entonces, utilizando el lenguaje se pueden traducir estos subgrupos a unidades auto
contenidas llamadas objetos.
El término Programación
Orientada a Objetos (POO), hoy en día amplia mente utilizado, es difícil de definir, ya que no es un concepto nuevo, sino que ha
sido el desarrollo de técnicas de programación desde principios de la década de
los setenta, aunque sea en la década de los noventa cuando ha aumentado su difusión,
uso y popularidad. No obstante, se puede definir POO como una técnica o estilo
de programación que utiliza objetos como bloque esencial de construcción.
Un objeto es una unidad que contiene datos y
las funciones que operan sobre esos
datos. A los elementos de un objeto se les conoce como miembros; las funciones que operan sobre los
objetos se denominan métodos y los datos se denominan miembros datos.