Tutoriales de Programacion JAVA 101: Introducción -Java y la Programación Orientada a Objetos-

Tutoriales de Programaciones

Java es un lenguaje de programación de propósito general, multiplataforma, basado en clases y orientado a objetos cuyo objetivo es que los programadores escriban el código una sola vez y este pueda ser ejecutado cualquier plataforma  o dispositivo lo que lo ha llevado a ser uno de los lenguajes de programación mas populares y altamente utilizados a la fecha. Ademas, es de fácil implementación y uso, por lo cual, todo usuario que desee aprender puede hacerlo sin mayores complicaciones.

Introducción

Antes de empezar, quiero dedicar unas palabras a quienes estén interesados en esta serie de tutoriales. Con este tutorial introductorio quiero empezar lo que podría ser una pequeña o extensa serie de "tutoriales" y "videotutoriales" de programación en Java, porque las comillas? personalmente no me gusta considerar esto como un tutorial, sino como una pequeña guia de aprendizaje, la razón es que cada persona piensa de una forma totalmente distinta a las demás y la programación no es una serie de pasos a seguir, sino que es un mundo totalmente extenso en el cual cada quien puede encontrar o mas soluciones a un problema dado, sin embargo, por conveniencia en las búsquedas o por costumbre, utilizaré el término Tutorial en muchas ocasiones. Por lo tanto, estos tutoriales serán unicamente una especie de guías con las cuales podemos ir aprendiendo un poco sobre distintos temas, sabiendo perfectamente que no serán las únicas ni mejores  o mas optimizadas formas de hacerlo, pero tratare de dar ejemplos que sean comprensibles para cualquier persona.

Por otro lado, debo decir que, en lo personal, Java me parece un buen lenguaje de programación; completo, potente y sencillo de usar, tanto para empezar en la programación como para realizar aplicaciones mas completas, ademas, Android utiliza Java como lenguaje de programación, por lo cual, si sabemos Java podemos crear fácilmente aplicaciones para Android.

También debo decir que, por comodidad, en su mayoría estaré realizando todo por medio de Videotutoriales que iré colgando en Youtube, acompañado de las explicaciones necesarias aca en la web.


JAVA

Como dije anteriormente, Java es uno de los lenguajes de programación mas populares y más utilizados a la fecha, su portabilidad y características lo han posicionado bastante bien en el campo de la programación, su filosofía, conocida como WORA (Write Once, Run Everywhere), ha contribuido a su buen posicionamiento. Java fue desarrollado inicialmente por Sun Microsystems, antes de que Oracle adquiriera a Sun en la década de los 90. Su sintaxis se deriva en gran parte de C y C++, sin embargo, retira muchas utilidades de bajo nivel que si posee C. Java se creo con 5 objetivos principales:

  • Debe usar el Paradigma Orientado a Objetos
  • Debe permitir la ejecución de un mismo programa en distintas plataformas y sistemas operativos
  • Debe incluir por defecto soporte para trabajar en red
  • Debe estar diseñado para ejecutar código en sistemas remotos de forma segura
  • Debe ser fácil de usar y tomar lo mejor de otros lenguajes orientados a objetos

¿Como empiezo a programar en Java?

Para que una aplicación o programa escrito en Java pueda ejecutarse, necesitamos instalar algo conocido como Maquina Virtual Java o Java Virtual Machine (JVM), sin embargo, para poder escribir código, necesitamos el Java Development Kit (JDK) el cual provee todas las herramientas de desarrollo para la programación en Java ademas de Java Runtime Environment [JRE] y Server Java Runtime Environment[Server JRE]. Ambos pueden ser descargados del sitio oficial de Oracle (abajo colocare los enlaces) y ser instalados en cualquier OS de forma facil y rapida.

El JDK incluye un Entorno de Desarrollo Integrado (integrated development environment) o IDE conocido como NetBeans, desde el cual podemos escribir nuestro codigo y compilarlo de manera sencilla, sin embargo, el código puede ser escrito desde cualquier editor de texto plano, como el block de notas de windows, o NotePad++ (por mencionar algunos) y ser compilados o desde otros IDE como Eclipse. Para conveniencia de este tutorial, utilizare NetBeans, aunque también realizare algunos ejemplos en Notepad++ para demostrar su uso.


Programación Orientada a Objetos

Dado que Java es un lenguaje de programación Orientado a Objetos, puedo resumir este tema. El paradigma de programación orientado a objetos, conocido como POO, es un paradigma de programación que utiliza Objetos en sus iteraciones.

Características

  • Abstracción: Denota las características mas esenciales de un objeto, generalizando algo de la realidad capturando sus Atributos y Comportamientos.
  • Encapsulamiento: Esto se refiere a reunir todos los elementos que se consideran de una misma entidad, a un mismo nivel de abstracción.
  • Modularidad: Permite subdividir una aplicación en pequeñas partes (módulos), de modo que, podemos escribir pequeños bloques de código de forma independiente, y luego interconectarlos.
  • Polimorfismo: Esto nos permite tener comportamientos (métodos) distintos, en distintos objetos y compartiendo el mismo nombre. Al ser llamado el método por su nombre, podemos obtener un distinto comportamiento.
  • Herencia: Nos permite "pasar" atributos y comportamientos de un objeto a otro, de modo que, dos objetos similares pueden tener una  relación de herencia.
  • Recolección de basura: También conocido como Garbage Collection, es básicamente una técnica que se encarga de destruir o desvincular de la memoria los objetos que tenemos sin referencia.

Conceptos

  • Clase

Una clase es una plantilla para la creación de objetos, haciendo uso de la abstracción, creamos una clase en la cual describimos los Atributos y el comportamiento de (generalmente) algún objeto de la realidad.

  • Objeto

Es una instancia de una clase.

  • Atributo

Son las características que tiene una clase.

  • Método

Son los comportamientos o algoritmos asociados a un objeto.

  • Función

Al igual que un método, es un algoritmo o un comportamiento, sin embargo, obtenemos un valor de retorno.


Objetos

Ahora bien, dichas todas estas marcianadas, pasemos a algunos ejemplos para entender un poco mas este tema. Pensemos por ejemplo en algo cotidiano, como nuestra mascota, un Perro, creamos nuestra Clase Perro, indicando los atributos y comportamientos que puede tener:

Clase Perro

Atributos:

  • Nombre
  • Color
  • Raza

Comportamientos:

  • Correr
  • Ladrar
  • Comer

A partir de esta plantilla, podemos crear muchos objetos de forma que todos comparten las mismas características, pero son objetos totalmente diferentes

Objeto PerroA

Atributos:

  • Nombre: Fido
  • Color: Negro
  • Raza: Terrier

Objeto PerroA

Atributos:

  • Nombre: Firulais
  • Color: Gris
  • Raza: Pitbul

Y cada objeto puede realizar los comportamientos especificados en la clase.

Métodos y Funciones

Un método y una función son básicamente procedimientos o algoritmos que nuestro programa realiza, por ejemplo del caso anterior, el método Correr puede tener instrucciones de que debe hacer la aplicación, viendo un ejemplo mas abierto, si estuviésemos trabajando en un programa que registre usuarios a un sistema de base de datos, un método puede ser registrarUsuarios, y las instrucciones indicarían como ingresar el usuario a la base de datos. En cuanto a las funciones, las instrucciones pueden ser iguales a las de un método, sin embargo, obtenemos un retorno, por ejemplo, si tenemos una función que retorne una cadena de datos y se llame obtenerUsuario, las instrucciones indicarían como obtener el nombre del usuario, y el valor de retorno seria ese nombre de usuario.


A pesar de que me quede muy corto con la mayoría de explicaciones, profundizare mas en el tema de las clases, atributos y métodos en los tutoriales siguientes, directamente con ejemplos en código de forma que sean mucho mas facil de comprender, haciéndolo de forma practica. Para terminar, pueden acceder al sitio de Oracle para obtener el JDK acorde a su sistema operativo.

Enlace al sitio de Oracle

Por el momento me despido esperando que sigan esta serie de tutoriales que ire presentando, y que estoy totalmente abierto a comentarios, dudas y sugerencias. Saludos

4.882355
Tu voto: Ninguno Votos totales: 4.9 (17 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

¿Los tutoriales siguen en

¿Los tutoriales siguen en construcción? Tengo un montón de ejemplos de arrays, strings, bucles, programación modular y otras cosillas que podrían resultar interesantes como ejercicios o ejemplos adicionales.


We're off now to seek all our fortunes to the land... of... our dreams

Imagen de Kai-Kun

En parte

Debido a la fecha en que empece esto (finales de semestre del año pasado y luego las fiestas) me atasque un poco con el tiempo, pero estoy por volver con tutoriales tando en forma escrita como en forma de "videotutorial", toda ayuda es bienvenida y apreciada y lo que me indicas me parece algo genial.

Imagen de johns17

Excelente

buen tutorial, aunque no entiendo muy bien java con este tutorial me voy dando una idea, toy desactualizado solo conozco c++

Gracias por el tutorial, saludos

Gracias por el tutorial, saludos

Imagen de ANI-KIBA

Una luz para mi

Sobre todo gracias por tomarte tu tiempo haciendo este extenso tutorial... ¡Me interesaría seguir en el siguiente capítulo!

Sobre todo, he visto muchos buenos post recientes en la Scenebeta... Seguro regreso a esta comunidad <3

Saludos!


Youtube Channel - MrHenyckma (Grykon!) ¡Nuevos vídeos! Clíckea en la IMG :D!
Youtube propio, si quieres escuchar mi música :) 

Por cierto, creo que se

Por cierto, creo que se debería hacer una parte del titurial referente a instalación de IDE's (Eclipse, por ejemplo) y otros temas más banales que pueden ser algo liosos al principio. Saludos.


We're off now to seek all our fortunes to the land... of... our dreams

Imagen de Goldnight

genial!

Concuerdo con sergi70 por cierto, el que me gustaría que me ayudarán es: Appcelerator Titanium Studio, batalle mucho y a fin de cuentas no pude, es para Windows, GNU/LINUX y MAC.


 

Imagen de Goldnight

duda un tanto estupida :p

si dices que el polimorfismo "nos permite tener comportamientos (métodos) distintos, en distintos
objetos y compartiendo el mismo nombre." entonces, ¿es como una sobre carga de metodos?


 

Imagen de Kai-Kun

Polimorfismo aparente

Mi culpa por no abarcar  bien esa parte, lo que menciono es, a grandes rasgos sobrecarga, por ejemplo, si tienes una metodo, iniciar() y otro iniciar(int a), se trata de una sobrecarga pues es el usuario quien decide que usar de acuerdo a los parametros que decide enviar al momento de querer llamar al metodo,  polimofirmo es una accion mas pura y automatizada, de modo que podriamos tener dos (o mas) clases con el mismo  metodo, por ejemplo

void obtenerNombre(){//cuerpo}

Ahora, una forma de implementar seria por medio de un metodo estatico, de forma que al crear un objeto, podamos invocar a ese metodo y  que, dependiendo del resultado, nos devuelva el objeto deseado y el metodo deseado, por ejemplo

Persona p = new Persona.tipoPersona();

p.obtenerNombre();

De esta forma, no somos nosotros quienes llamamos al metodo de forma manual, sino que de forma dinamica, el lenguaje decide a que metodo recurrir.

 

Imagen de Goldnight

ohh

de modo que en tu ejemplo:

void obtenerNombre(){//algo} esta en una clase llamada Persona y al crear un objeto p del tipo Persona se obtiene el metodo, ¿o me equivoco?


 

Imagen de Kai-Kun

correcto

correcto

Imagen de Goldnight

gracias por la ayuda

nunca se me a dado usar java, prefiero c++ o php jeje

Imagen de MOLOTOVII

Si quiero apoyar en el proyecto...

Que tengo que hacer? Actualmente domino JAVA a un nivel un tanto medio-avanzado .

 

Imagen de Kai-Kun

No habia

No habia considerado colaboraciones, pero cualquier ayuda es bienvenida y agradecida, mi intencion es acercar la mayor cantidad de contenido a la gente que desee aprender siempre y cuando sea de calidad y de una forma comprensible para cualquiera, puedes enviarme un mensaje privado con lo que tengas en mente para colaborar y podemos hablarlo, pues yo no me encargo de asignar rangos en la web ni nada similar.

Imagen de enokerts

gracias Kai-Kun

Gracias K_K. He leido el tutorial y se entiende todo super bien. ¿Cada cuanto publicaras los siguientes tutoriales?. Ya hace tiempo que estoy pensando en dedicarme profecionalmente a esto aunque no iré a la univercidad en el corto plazo. Nuevamente mil gracias.


Mi más profundo respeto y admiración a los moderadores, administradores, editores, creadores y a los foreros.

"La progracmación y la filosofia mi razón de existir". enokerts 2015.

Me alegra que hayais vuelto a

Me alegra que hayais vuelto a hacer tutoriales de programación Sorprendido

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.