Cuando una entidad determinada recibe un mensaje de otra entidad, se activa un comportamiento específico. La entidad que recibe el mensaje se denomina receptor y la entidad que lo envía, emisor. En la terminología de Cuis-Smalltalk, una entidad se denomina instancia de una clase, instancia de clase o, simplemente, instancia. Una clase es una especie de modelo para una entidad.
El comportamiento se define internamente en el receptor y se puede activar desde cualquier instancia. Los comportamientos sólo pueden ser invocados por mensajes enviados entre entidades. Una entidad puede enviarse un mensaje a sí misma. Un comportamiento se define en una clase y se denomina método.
Esto da lugar a una enorme nube de entidades que se comunican entre sí mediante el envío de mensajes. Las nuevas entidades se instancian cuando es necesario y luego se reciclan automáticamente cuando ya no son necesarias. En un entorno Cuis-Smalltalk nuevo, el recuento de instancias de clase es superior a 150.000.
ProtoObject allSubclasses sum: [ :class | class allInstances size] ⇒ 152058
Ejemplo 2.1: Calculando el número de entidades
El número de clases, los modelos para las entidades –instancias de la
clase Class– es menor de 700.
Smalltalk allClasses size ⇒ 671
Ejemplo 2.2: Calcular el número de clases
Puesto que no estás usando una imagen básica, sino una destinada a aprender, las clases pueden constituir un número más grande.
Para ser sinceros, en el capítulo anterior omitimos este importante detalle sobre el diseño de Smalltalk. Escribimos sobre el envío de mensajes sin dar muchas explicaciones, porque queríamos que descubrieras este diseño de manera informal. Los scripts que leíste y escribiste trataban sobre entidades que se comunicaban entre sí a través de mensajes.