Programación en Java/Programación Orientada a Objetos

Un objeto es una abstracción de cualquier cosa que puedas pensar o ver en este instante, un perro, una silla, una pelota, un misil teledirigido, un enemigo en un videojuego, etc, etc.

Java es un lenguaje orientado a objetos. Esto quiere decir que si lo puedes pensar, entonces es muy probable que lo puedas programar. Retomando el ejemplo del perro, podemos hacer notar algunos detalles que nos ayudaran a entender ese misterioso mundo de "los objetos":


  1. Los perros son animales.
  2. Los perros pertenecen a una raza (aunque en algunos casos mezcla de ellas :D).
  3. Los perros ladran (aunque en algunos su ladrido no se escuche).
  4. Los perros comen.
  5. Los perros toman agua.
  6. Los perros corren.
  7. Los perros duermen.
  8. Algunos perros tienen pulgas.
  9. Algunos perros tienen dueño.
  10. Algunos perros tienen nombre.


Bueno, vamos a dejar tranquilos a los perritos hasta aquí, y ahora explicar el por qué enumerar estas características de nuestros amigos caninos.
En primer lugar podemos darnos cuenta que "el objeto perro" tiene características (1, 2), puede realizar acciones (3, 4, 5, 6, 7) y tiene cierto tipo de relación con otros objetos (8, 9, 10).

No olviden que todo perro es distinto, es decir, aunque compartan características, no todos pertenecerían a la misma raza, o al mismo dueño, o no vivirían en el mismo lugar, etc.

Es aquí cuando surge algo llamado "Clase". Todos los perros del mundo, pertenecerían a la "Clase Perro". Y cada uno de los perros seria en si un "Objeto Perro", que pertenece a la "Clase Perro".

Ahora profundizando un poco mas en estos términos. Cuando uno programa con Java, lo que principalmente hace es crear clases, de las cuales se crean objetos. Un código de ejemplo para entender esto seria:

 class Perro{
   String nombre;
   String raza;
   boolean pulgas;
 }
 Perro perrito1=new Perro();
 Perro perrito2=new Perro();