Programación Orientada a Objetos – Clase e Instancia

Este post es parte de una serie de artículos sobre POO y viene a continuación de Características de la P.O.O.

¿Qué es una Clase?

Cuando decimos “ave”, sabemos que nos referimos a “algo” con plumas, pico, dos patas, etc. No importa realmente si hemos visto un ave o no, o si tenemos un ave frente a nosotros; entendemos claramente que la palabra “ave” se refiere a alguna cosa que cumple con unas características específicas, se comporta de una forma concreta, etc, etc. No es más que una palabra, pero nos permite clasificar las cosas. Por ejemplo, sabemos que una gallina es un ave y que un perro no es un ave.

La clasificación es algo que hacemos todos los días, a cada momento (entre otras cosas, nos libra de utilizar medias como guantes o bañarnos en el comedor en vez de en la ducha). Cada vez que decimos que algo es alguna cosa, estamos clasificándolo, asociándolo a una clase.

Sin embargo, sabemos que la palabra ave no se refiere a un animal concreto, sino a una serie de animales. Ave es la palabra que usamos para identificarlos en un grupo, pero no podemos decir hoy haré volar la palabra “ave” (bueno, puedes decirlo, pero estarás cada vez más cerca del manicomio), en tal caso siempre nos referiremos a esta o aquella ave, siempre hablaremos de un animal concreto. La palabra es lo que conocemos como un concepto, una abstracción.

En la POO ocurre igual, una clase no es más que una serie de código que define a todos los elementos relacionados con ella. Así, podríamos escribir la clase ave colocando en ella todas las características que tienen las aves (pico, color, alto, ancho, patas,…) esas características las llamaremos en lenguaje de programadores, propiedades.

Pero la cosa no termina allí, resulta que las aves tienen también ciertos mecanismos específicos, como comer, dormir, reproducirse (¡aléjate Pertvertvaz! :P ), etc. Estos mecanismos los llamamos métodos.

Por último, también sabemos que las aves reaccionan ante ciertos sucesos, como peligro, atracción, defensa… A esto lo llamaremos eventos.

Entonces, vemos que una clase es algo así como el concepto de lo que queremos hacer, es como la idea (concebida al detalle) de la cosa, del objeto; pero igual que con las ideas, no puedo hacer nada directamente con una clase (puedes sentarte en una silla, pero no en tu idea de una silla). Sin embargo, esta idea será la que dé forma al objeto que crearemos (que tendrá las características, mecanismos y comportamientos que habíamos pensado en nuestra idea).

Comparación Clase - Concepto

¿Qué es una Instancia?

Bien, decíamos que una clase es como la definición de un objeto, pero no es el objeto en sí, del modo como una idea no es una cosa física (el ejemplo de la silla). Así que para sentarnos necesitaremos convertir esa idea en algo, en un objeto real; a ese objeto lo llamamos instancia.

En un mismo proyecto puedo tener una o más instancias de una misma clase sin problemas.

Cada vez que creamos una nueva instancia, ésta adquiere las propiedades, métodos y eventos de la clase a la que pertenece (es lo que permite la relación es un), sin embargo, cada instancia es independiente de las otras; esto nos da dos ventajas:

  1. Si hago algún cambio en la clase, todas las instancias de esta clase se actualizarán automáticamente; esto nos permite hacer cambios sin tener que ir a cada una de las instancias (se aplica el mismo principio de herencia, aunque a un nivel diferente).
  2. Al ser independientes de las otras instancias, puedo darles valores diferentes sin que afecten a las demás (como tener una silla negra, una roja, una más alta, etc.). Aunque comparten la misma estructura, pueden programarse individualmente, dando versatilidad y flexibilidad al código.

Ahora que tenemos la base teórica, debemos dar un paso más práctico, en el siguiente post aprenderemos Cómo Escribir una Clase

Technorati Tags: , ,

Acerca de The Fricky!
Web Developer, Internet Jedi, amante de los estándares y de aprender algo nuevo cada día

45 Respuestas a Programación Orientada a Objetos – Clase e Instancia

  1. Alrevez dice:

    Me parece excelente esta forma de entender la programación orientada a objetos, espero con ansias la continuación del mismo!!

  2. Bleend dice:

    Ey, está genial. Enhorabuena, esperaré el próximo ;)

  3. JOS dice:

    Muy bueno… esperaré el próximo ñ_ñ

  4. khalil dice:

    ey men mejor explicado no puede estar….lo felicito

  5. borlan777 dice:

    compadre que modo de explicar tan bacano… es justo lo que necesitaba

  6. juancho dice:

    que informacion tan bacana

  7. Mónica dice:

    Mejor explicado no creo que nadie más lo haga, le agradezco su elocuencia

  8. Christian dice:

    Todo me queda claro, vaya que si conoces mucho sobre POO… y eso se nota por la forma como lo explica… con parábolas… mmm… recuerdo vagamente que alguien hace más de 2000 años atrás hizo lo mismo… :)

  9. Julian dice:

    Viejo esto es lo que necesitamos exelente!!

  10. Leo117 dice:

    Eres Magnifico de veraz deberias ser quien me diera clases!!! xD
    La Forma En Que Explicas Todo Esto Lo Hace Parecer Sumamente Facil, Sinceramente Con Mi Actual Maestro Me Costaba Mucho Enterder Las Cosas!!
    De Veras Gracias!!! Sigue asi.

    Un Saludo Desde Merida Yuc Mex

  11. Leo117 dice:

    Tengo Una Frase!!

    “Solo Es Digno De Ser Llamado Maestro, Aquel Que Es Capaz De Convertir Sus Conocimientos En Metaforas!!”

    Gracias Mestro.

  12. Jaime dice:

    Gracias por la magnifica explicacion me parece genial continua asi, de verdad muchas gracias

  13. claudeth dice:

    Felicidades y gracias, la verdad que al principio es mi coco pero me esta gustando el asunto de programar

  14. temo dice:

    diablos
    por q los profesores de todas las escuelas no enseñan de esta forma???
    muy buenas metaforas
    excelente excelente
    lastima que no lo haya encontrado antes

  15. Ivan dice:

    Man dejame decirte que he leido varios cursos y/o manuales de poo, java, c++, desde las tipicos “Aprenda poo como si estuviera en primero” o “Java para principiantes” hasta los cursos avanzados y en ninguno habia encontrado una explicacion tan clara de los que es una clase y una instancia y el porque de diferentes instancias. Muchas felicidades por esa facilidad para darte a entender

  16. Pingback: Clase e Instancia | mawape

  17. Sol dice:

    Hola!!! Gracias por esas definiciones tan bien explicadas. Felicidades por tu blog.

  18. Pingback: Clase e Instancia | MAWAPE Sistermas, software, flash, flex, air, ria, flas lite, android, iphone, nokia, windows, mac, apple, webos, symbian, windows mobile, tutoriales, videos, realidad aumentada, software developed, RIA

  19. heros dice:

    muy bueno, practico, facil y entendible.

    Gracias.

    El mundo es de todos, y todos somos uno solo.

  20. Danny dice:

    Casi lloro de la alegría … Buena explicacion man!

  21. Armando dice:

    Fricky, me satisface ver como tus cyber alumnos se expresan de la forma como le explicas. Muchos comentarios positivos que parecen genuinos, ciertamente.

    Bueno, a lo que vine… Un amigo tuyo me dice que puedes diseñar maravillas y estoy trabajando en un blog social (de tendencia social y de cooperar con los mas desposeidos) que requiere de la creatividad de un buen diseñador web.

    Perdona que me entrometa aca en tu clase, pero como hago para contactarte?

    Saludos,

    Armando

  22. angelik dice:

    muy chevere esta forma de explikr kien no entiende assii,,, graciasss

  23. jeorge dice:

    gracias por compartir tus conocimientos con estos mortales que estamos tratando de aprender

  24. guta dice:

    Los libros de programacion deberian estar explicados asi!

  25. FJCD dice:

    jjeje muy buenas explicaciones ^^ me han ayudado mucho a entender la POO me estoy iniciando a programador =P

  26. isai tafur dice:

    Es genial la forma como transmites los conocimientos concerniertes a la POO solo queria felicitarte. seria bueno que pudieras dar clases mas adelante en un colegio. segui asi de humilde y no cambies y si cambias hazlo para bien.

  27. angel dice:

    en verdad que es da las mejores explicaciones que hee escuchado muchas felicidades,, no has pensado en escribir libros? creeme que te iria muy bien!!! muchas gracias :D

  28. Antony Ramos dice:

    De la misma forma que todo el grupo de hinchas, te estoy agradecido pues ya era hora de encontrar información más detallada para poder comprender rápidamente este nuevo mundo.
    Gracias.

  29. Adrian Medina dice:

    oooooooh!!! Mis respetos hermano! que manera de transmitir un conocimiento de manera mas natural y amigable! Muchas felicidades y gracias por compartir!

  30. YANETH dice:

    EXECELENTE.

  31. muchas gracias…la manera en que lo explicas es tan facil de entender,,,ahora me gusta mucho mas la programacion …XDXD…GRAGIAS!!!!….

  32. Ivan dice:

    muy bueno, facil y rapido de aprender felicidades y gracias por hacer este tipo trabajos..

  33. David dice:

    Perfecto ,muy bien explicado

  34. Cruz dice:

    Gracias por el aporte bastante entendible…….Saludos…

  35. Jessik dice:

    :) eSt@ MuY bIeN eXpLiC@Do Y LoS EJeMpLoSSS lo hAceN mAS enTeNdIblE mUy bIeN

  36. amigorene dice:

    FELICITACIONES, yo soy NUEVO en java y digo nuevo porque es la primera vez que la uso como lenguaje de programación, e tu explicacion me hiso entender esta parte que no tenia sentido para mi, continuare leendo tus post y espero que todos sean asi de didacticos.

  37. lina dice:

    me sirvió de mucho mil gracias

  38. jorge dice:

    Qué buena explicación, pero qué buena. Soy un programador de la vieja escuela (Cobol), y en mis intentos por entender la poo, nunca he leído algo tan escueto y bien explicado. Como decía Góngora “lo bueno, si breve, dos veces bueno”. Y ahora he entendido la diferencia entre clase y objeto. MIL GRACIAS!!!!

  39. Daniel Ramirez dice:

    interesante y soberbio.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 822 seguidores

%d bloggers like this: