Las clases, yo siempre las he pensado como un videojuego. A mí me gusta mucho Starcraft II que es un juego de estrategia. Por lo que una clase de ejemplo sería un soldado de los Terran, si hago 10 soldados cada uno de ellos tiene el mismo molde, pero si a uno de ellos le hacen daño a ese se le baja la energía, pero al resto de soldados no, por lo que sería un objeto independiente de los demás.
Recursos
Resumen
Las clases son un tipo de dato complejo definido por los programadores. Son algo parecido a los molde de galletas porque nos ayuda a crear todas las galletas independientes unas de otras pero con el mismo tamaño y la misma forma dependiendo del molde que elegimos para crearlas.
Las instancias son los objetos inicializados de una clase, una entidad única basada en una clase. Podemos decir que cada galleta es una instancia de nuestro molde de galletas.
Todas las clases tienen propiedades públicas y privadas y cada instancia de nuestras clases tiene estas mismas propiedades pero con valores diferentes.
Por ejemplo: podemos crear una clase llamada gatito con las propiedades nombre, edad y color, algo así como un molde de gatitos. Cuando creamos una instancia de esta clase vamos a definir estas 3 propiedades para cada uno de nuestros gatitos y cada uno tendrá valores diferentes (aunque, en este caso, los valores pueden ser iguales)
Gatito1se llama ""Fernando"", tiene 6 años y es de color blanco mientras queGatito2se llama ""Tomy"", tiene 2 años y es de color negro.


