4.6. Modularidad y versatilidad

Una de las mayores ventajas que tiene el uso de Java para desarrollar aplicaciones es que se trata de un lenguaje orientado a objetos puro. Es decir, en un programa escrito en Java, todo son objetos cuyo comportamiento está definido en una determinada clase. De hecho, todos los elementos de los que hemos hablado en este capítulo se implementan como objetos.

Una de las características más significativas de la programación orientada a objetos es la herencia, que nos permite reutilizar código ya escrito programando sólo las diferencias.

Quizás, dicho así, el concepto quede explicado de forma muy simplista (al fin y al cabo, no pretendo que este texto sea un tratado sobre programación). Sin embargo, la capacidad de modularización que aporta la programación orientada a objetos, les ha permitido a los desarrolladores de Android facilitar un mecanismo para que cualquier aplicación pueda hacer uso de un componente que forme parte de otra aplicación.

Así, por ejemplo, podríamos escribir un programa que fuese capaz de hacer una fotografía con la cámara de nuestro dispositivo móvil y, en realidad, sólo tendríamos que iniciar la actividad que se encarga de hacer ese trabajo de forma estándar en el sistema. El resultado final ofrecería la impresión de que el proceso de toma de la imagen está integrado con nuestro programa y nosotros no tendríamos que conocer de forma específica cómo realizar ese proceso.

Sin embargo, Android ejecuta las aplicaciones en procesos independientes y será el propio sistema operativo, y no otra aplicación, quien pueda ejecutar un componente en particular. Esto asegura que una aplicación no podrá utilizar un componente de otra aplicación sin que el sistema controle lo que está ocurriendo. De hecho, la forma en la que una aplicación utilizará un componente ajeno, será enviando un mensaje al sistema operativo en el que se solicite el elemento a ejecutar. Si la acción solicitada es válida, el sistema lo activará y lo pondrá a disposición de la aplicación que envió el mensaje.


Anterior

Contenido