Aclaración de la terminología — RexDac Academy

RexDac AcademyNotas técnicas · Ayuda tener algunos conocimientos previos
0%Notas publicadas leídas · en este dispositivo

Nivel 4 — Clases

Aclaración de la terminología

Notas originales de SunDiaL · Ver fuente en inglés

Aquí es donde la terminología empieza a resultar confusa, porque todo el mundo mezcla las palabras «objeto», «clase», «instancia»… y quizá otras… porque utilizar una en lugar de otra a menudo simplemente suena más natural al hablar. Para aclararlo un poco, demos un paso atrás y utilicemos un ejemplo de la vida real.

Imagina que haces manzanas de juguete con arcilla:

  • La clase es como el molde que utilizas para hacer las manzanas de juguete. Define cómo debería ser una manzana de juguete: su forma, tamaño y estructura general. Todavía no tienes una manzana de juguete, pero sabes cómo será cuando utilices el molde.
  • El objeto es una manzana de juguete que has hecho con el molde. Ahora es algo real y físico. Puedes tocarla, pintarla, aplastarla: existe. Puedes hacer muchas, y cada una puede ser ligeramente distinta: quizá un poco más roja o algo deformada, pero todas son manzanas de juguete.
  • Una instancia es simplemente una forma más técnica de decir una de esas manzanas de juguete. Sigue siendo algo físico. La única diferencia es que se pone el énfasis en el molde, o clase, del que procede.

En términos de código:

Una vez entendido esto, la confusión casi desaparece: en realidad, solo hay dos cosas de las que se puede estar hablando:

  1. La propia clase a. «La clase Apple define el color y el tamaño». b. «El tipo Apple se utiliza en las recetas».
  2. Un objeto real creado a partir de la clase a. «Tengo una manzana de juguete». b. «Tengo un objeto de tipo Apple». c. «Tengo una instancia de Apple».

Así que, si alguna vez no estás seguro de lo que alguien quiere decir, pregunta: ¿Hablamos del molde (clase) o de una manzana de juguete (objeto/instancia)?