Programación Orientada a Objetos en Java Francisco Blasco
La ley prohíbe fotocopiar este libro Programación Orientada a Objetos en Java © Francisco Blasco © De la edición: Ra-Ma 2019 MARCAS COMERCIALES. Las designaciones utilizadas por las empresas para distinguir sus productos (hardware, software, sistemas operativos, etc.) suelen ser marcas registradas. RA-MA ha intentado a lo largo de este libro distinguir las marcas comerciales de los términos descriptivos, siguiendo el estilo que utiliza el fabricante, sin intención de infringir la marca y solo en beneficio del propietario de la misma. Los datos de los ejemplos y pantallas son ficticios a no ser que se especifique lo contrario. RA-MA es marca comercial registrada. Se ha puesto el máximo empeño en ofrecer al lector una información completa y precisa.
Sin embargo, RA-MA Editorial no asume ninguna responsabilidad derivada de su uso ni tampoco de cualquier violación de patentes ni otros derechos de terceras partes que pudieran ocurrir. Esta publicación tiene por objeto proporcionar unos conocimientos precisos y acreditados sobre el tema tratado. Su venta no supone para el editor ninguna forma de asistencia legal, administrativa o de ningún otro tipo. En caso de precisarse asesoría legal u otra forma de ayuda experta, deben buscarse los servicios de un profesional competente. Reservados todos los derechos de publicación en cualquier idioma. Según lo dispuesto en el Código Penal vigente, ninguna parte de este libro puede ser reproducida, grabada en sistema de almacenamiento o transmitida en forma alguna ni por cualquier procedimiento, ya sea electrónico, mecánico, reprográfico, magnético o cualquier otro sin autorización previa y por escrito de RA-MA; su contenido está protegido por la ley vigente, que establece penas de prisión y/o multas a quienes, intencionadamente, reprodujeren o plagiaren, en todo o en parte, una obra literaria, artística o científica.
Editado por: RA-MA Editorial Calle Jarama, 3A, Polígono Industrial Igarsa 28860 PARACUELLOS DE JARAMA, Madrid Teléfono: 91 658 42 80 Fax: 91 662 81 39 Correo electrónico: editorial@ra-ma.com Internet: www.ra-ma.es y www.ra-ma.com ISBN: 978-84-9964-805-7 Depósito legal: M-16593-2019 Maquetación: Antonio García Tomé Diseño de portada: Antonio García Tomé Filmación e impresión: Safekat Impreso en España en mayo de 2019 A Maribel “Lo importante no es donde estamos,sino hacia donde nos dirigimos.” Índice
- material adicional 587
PRÓLOGO El intento de trasladar al lector los conceptos y mecanismos fundamentales de la Programación Orientada a Objetos, ha sido una constante en toda la redacción del libro, es más, el principal objetivo planteado. Siempre enfocado a facilitar al máximo su asimilación por parte del lector, a pesar de la complejidad inherente a los contenidos tratados. Se han utilizado, para ello, ejercicios ejemplo, especialmente diseñados para facilitar la comprensión de dichos aspectos fundamentales. Java ha sido el lenguaje escogido como medio en la consecución de los fines planteados porque es el máximo exponente de la Orientación a Objetos, tanto por su purismo, como por la trayectoria y expansión que ha tenido, tiene, y tendrá. En todos los temas, se ha intentado presentar al principio ejemplos lo más breves y sencillos posibles, a efectos de facilitar al lector la comprensión de los mecanismos básicos a tratar en cada momento. Así mismo, también se han presentado aplicaciones de mayor complejidad, en que se integran dichos mecanismos básicos.
Se pretende que, con dicha integración en aplicaciones de mayor extensión, el lector tome una perspectiva global de dichos mecanismos. Asociados a la mayor parte de ejercicios ejemplo, se aportan esquemas y gráficos, en un intento de clarificar al lector las referencias y objetos intervinientes, y también el cómo se transfieren dichas referencias entre las diferentes capas de la aplicación, cuando ello tiene lugar. Se ha intentado, en la medida de lo posible, secuenciar contenidos, de tal modo que todos los conceptos, cuestiones, estrategias, etc. aplicados en un tema hubiesen sido ya tratados en temas anteriores. En pro de minimizar la extensión de las líneas de código de las aplicaciones aportadas, se han producido dos tipos de actuaciones:
- Los comentarios en el código de las clases están reducidos a la mínima expresión, incluso en la mayoría de los casos, son inexistentes. Así mismo, también se han reducido otros recursos que proporcionan legibilidad al programa, tales como líneas en blanco adicionales.
- En ejercicios sencillos, se ha concentrado en el método main la mayor parte de actuaciones posibles, sin perder de vista que ello podría suponer alejarse del concepto de modularidad.
En el primer caso, la ausencia de comentarios en el código, es suplida por las debidas explicaciones en el tema relacionadas con dicho código.
Y en el segundo caso se actúa “monolíticamente” para que el lector tenga concentradas, en el método en cuestión, la mayor parte de actuaciones posibles. Por otra parte, también hemos de señalar que, en algunas aplicaciones ejemplo, sobre todo, en los últimos temas del libro, puede tener la impresión el lector, de que, algunas de ellas se podrían haber resuelto mediante una implementación más sencilla. Dicho “suplemento de complejidad” obedece a la intención didáctica de introducir al lector en el modelo de desarrollo software arquitectura a tres capas. El marco de organización que aporta dicho modelo se rentabiliza en aplicaciones de gran extensión. Así mismo, la aplicación de dicho marco de trabajo en estas aplicaciones, permitirá también al lector, reforzar conceptos y mecanismos tratados en temas anteriores. Finalmente, tan solo matizar que, es el máximo deseo del autor que el lector llegue a asimilar los principios y mecanismos fundamentales de la Programación Orientada a Objetos, que como ya se ha mencionado, es el objetivo principal de este libro.
TIPOS DE DATOS.OPERADORES. EXPRESIONES Estructura de una aplicación Java. Contexto de trabajo Cuando nos enfrentamos a un nuevo lenguaje, la primera inquietud que se nos plantea es: ¿cuál es la mínima expresión de código en este nuevo lenguaje que me permita lanzar mi primera ejecución? A continuación, se expone la mínima expresión de código Java susceptible de ser ejecutada: public class MiPrimeraAplicacion { public static void main(String[] args) { System.out.println(“Hola”); } } El resultado de la ejecución, como se podrá comprobar, es la salida (visualización) por la consola establecida por el IDE, o el contexto de intérprete de comandos, que estemos utilizando de la cadena: Hola Dicha visualización es consecuencia de la ejecución del método println( ) . Antes de entrar en más consideraciones y profundidad, procede proporcionar al lector los medios para probar la ejecución de este primer programa. Recomendamos al lector, para ello, la utilización de algún entorno de desarrollo integrado (IDE) de aplicaciones Java. Se trata de software que ofrece al desarrollador una serie de herramientas que proporcionan mayor comodidad y rapidez, entre otras, tareas básicas y fundamentales como son la edición del código, compilación, y ejecución.
Las más utilizadas son NetBeans, y Eclipse; pero hay otras más. Una de las formas de obtener los ejecutables para la instalación de un IDE, es descargárselo de Internet. Pero con total independencia de que el lector siga las recomendaciones de utilizar un IDE, vamos a proporcionar conceptos sobre los procesos fundamentales relacionados con la compilación y ejecución de aplicaciones Java. En principio, hemos de mencionar que, independientemente de que se utilice un IDE, o no se utilice, debe procederse, con anterioridad a la instalación del “sustrato de herramientas básico”, el JDK (Java Development Kit). Análogamente a los IDE, una de las posibilidades de obtener el ejecutable para la instalación del JDK, es descargárselo desde Internet. Dependiendo del IDE, el JDK puede ir incorporado al software de instalación del IDE, o por separado.