Java

PROGRAMACIÓN EN JAVA

En esta página se trata de dar una iniciación a la programación orientada a objetos con java a alumnos de la ESO, por lo tanto no entraremos en muchos conceptos teóricos y sí en muchos ejemplos prácticos para que comprendan la estructura de este lenguaje y la forma de estructurarlo.


La programación orientada a objetos (POO) es un paradigma de programación que usa objetos para crear aplicaciones. Está basada en tres pilares fundamentales: herencia, polimorfismo, encapsulación. Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos, entre ellos Java.

Un paradigma de programación consiste en un método para llevar a cabo cómputos y la forma en la que deben estructurarse y organizarse las tareas que debe realizar un programa.

Un paradigma de programación está delimitado en el tiempo en cuanto a aceptación y uso, porque nuevos paradigmas aportan nuevas o mejores soluciones que lo sustituyen parcial o totalmente.

El paradigma de programación que actualmente es más utilizado es la "orientación a objetos" (OO). El núcleo central de este paradigma es la unión de datos y procesamiento en una entidad llamada "objeto", relacionable a su vez con otras entidades "objeto".

Tradicionalmente, datos y procesamiento se han separado en áreas diferente del diseño y la implementación de software. Esto provocó que grandes desarrollos tuvieran problemas de fiabilidad, mantenimiento, adaptación a los cambios y escalabilidad. Con la OO y características como el encapsulado, polimorfismo o la herencia, se permitió un avance significativo en el desarrollo de software a cualquier escala de producción. La OO parece estar ligada en sus orígenes con lenguajes como Lisp y Simula, aunque el primero que acuñó el título de "programación orientada a objetos" fue Smalltalk.

Muchos de los objetos prediseñados de los lenguajes de programación actuales permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al usuario la creación de sus propias bibliotecas.

Está basada en varias técnicas: herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.


Clase
Una clase es una especie de "plantilla" en la que se definen los atributos y métodos predeterminados de un tipo de objeto. Esta plantilla se crea para poder crear objetos fácilmente. Al método de crear nuevos objetos mediante la lectura y recuperación de los atributos y métodos de una clase se le conoce como instanciación.

Herencia
Por ejemplo, herencia de la clase C a la clase D, es la facilidad mediante la cual la clase D hereda en ella cada uno de los atributos y operaciones de C, como si esos atributos y operaciones hubiesen sido definidos por la misma D. Por lo tanto, puede usar los mismos métodos y variables registrados como "públicos" (public) en C. Los componentes registrados como "privados" (private) también se heredan pero se mantienen escondidos al programador y sólo pueden ser accedidos a través de otros métodos públicos. Para poder acceder a un atributo u operación de una clase en cualquiera de sus subclases pero mantenerla oculta para otras clases es necesario registrar los componentes como "protegidos" (protected), de esta manera serán visibles en C y en D pero no en otras clases.

Objeto
Instancia de una clase. Entidad provista de un conjunto de propiedades o atributos (datos) y de comportamiento o funcionalidad (métodos), los mismos que consecuentemente reaccionan a eventos. Se corresponden con los objetos reales del mundo que nos rodea, o con objetos internos del sistema (del programa).

Método
Algoritmo asociado a un objeto (o a una clase de objetos), cuya ejecución se desencadena tras la recepción de un "mensaje". Desde el punto de vista del comportamiento, es lo que el objeto puede hacer. Un método puede producir un cambio en las propiedades del objeto, o la generación de un "evento" con un nuevo mensaje para otro objeto del sistema.

Evento
Es un suceso en el sistema (tal como una interacción del usuario con la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento enviando el mensaje adecuado al objeto pertinente. También se puede definir como evento la reacción que puede desencadenar un objeto; es decir, la acción que genera.

Atributos
Características que tiene la clase.



Para empezar a programar, después de tener claros las definiciones anteriores, lo primero que debes saber es que es un IDE:

Un entorno de desarrollo integrado​​ o entorno de desarrollo interactivo, en inglés Integrated Development Environment (IDE), es una aplicación informática que proporciona servicios integrales para facilitarle al desarrollador o programador el desarrollo de software.

Para programar en Java el IDE que más se utiliza es Netbeans. Puedes descargártelo de forma gratuita de su página web. Si investigas por tu cuenta verás que aquí te mandamos a la web de descarga de Netbeans 8.2 y ya existen nuevas versiones como la 9, 10, y 11, pero preferimos trabajar con esta porque es más fácil de instalar y no da problemas, aparte de que dispone de la versión en español, que considero que es fundamental si te estás iniciando en el mundo de la programación.


Aparte, si es la primera vez que vas a trabajar con java, necesitarás instalar un Kit de Desarrollo Java o como se dice popularmente Java Development Kit  (JDK). Te aconsejo que instales la versión 8 que es la más difundida, aunque como pasa con Netbeans, ya existen otras versiones más modernas.

Nota: es muy importante que primero instales el JDK y luego ya instales Netbeans, porque de lo contrario Netbeans, te dirá que no encuentra java.


Si estás trabajando con Linux:
Primero instalamos Java JDK en sus distintas versiones (tan solo hay que instalar 1, aconsejo la 8):

$ sudo apt install openjdk-8-jdk

$ sudo apt install openjdk-9-jdk

$ sudo apt-get install openjdk-11-jdk

Una vez instalada la versión JDK elegida, procedemos a descargarnos Netbeans de su web:

$ wget -c http://download.netbeans.org/netbeans/8.2/final/bundles/netbeans-8.2-linux.sh

Con el comando anterior, se nos va a descargar en ingles. Si queremos que se descargue en español, lo que podemos hacer es ir a la web de descarga y descargar de forma manual teniendo la precaución de seleccionar el idioma en español.


Una vez completada la descarga, en el directorio de trabajo si utilizamos wget o en el lugar donde guardamos la descarga desde el navegador, encontraremos el instalador de NetBeans. Ahora utilizando el siguiente comando, haremos que el script sea ejecutable. Justo después comenzaremos con la instalación:

Nota. Es muy importante que almenos el segundo comando se ejecute como root si queremos que se instale para todos los usuarios. Haciendo esto, la carpeta por defecto de la instalación será: /usr/local/netbeans de lo contrario se instalará para un solo usuario.

$ chmod +x netbeans-8.2-linux.sh

# ./netbeans-8.2-linux.sh

En el proceso de instalación, cuando nos pida que elijamos la carpeta donde se encuentra JDK de java, tenemos que tener la precaución de seleccionar la ruta correcta para que no nos dé errores, la cual sería: "/usr/lib/jvm/java-8-openjdk-amd64". Tras esto, ya tendríamos nuestro netbeans instalado y funcionando correctamente.

Si por algún motivo quisiéramos desinstalarlo (por ejemplo por una mala instalación), lo que tendríamos que hacer es ir a la carpeta de instalación (por defecto es: /usr/local/netbeans-8.2") y buscar un archivo llamado "uninstall.sh". Lo ejecutamos de la misma forma anterior: "./uninstall.sh" y listo.

Nuestro primer programa en Java sería algo así:



La estructura de un programa en java es la siguiente:


Un ejemplo algo más complejo:



En este ejemplo, debemos tener en cuenta el uso de variables donde guardar la información: int (para números) y String para (texto).

También es de destacar la clase Scanner, que sirve para introducir datos por teclado, cuando todavía no estamos trabajando con una interface gráfica.

VARIABLES
En java, se necesita una variable por cada dato que se quiera guardar en la memoria. Las variables básicamente son números, texto o sí o no.



Las que más se suelen usar son las de tipo int (números), String (texto) o boolean (para las casillas de verificación).

No hay comentarios:

Publicar un comentario

TecnoInFe: Tecnología, Informática y Educación