Title: signature
On 17/12/2012 04:13 p.m., Angel Java Lopez wrote:
Hola gente!

Carlos, gracias por la explicacion. Ahora entendi. Estaba confundido: el classVariableNames: define las shared, mientras que

MiClase class instanceVariableNames: 'pepe'

define class instance variables.

Para mi, era lo mismo, era equivalente

Object subclass: #MiClase instanceVariableNames: '...' classVariableNames: 'pepe' ....

que hacerlo en dos pasos:

Object subclass: #MiClase instanceVariableNames: '...' classVariableNames: '' ....

MiClase class instanceVariableNames: 'pepe'

ESA ERA MI CONFUSION: para mi, classVariableNames: definia variables de instancia en la metaclase, para que sean variables en su unica instancia, que es la clase. Veo que es TOTALMENTE distinto a lo que pensaba. Define variables en un "pool" especial implicito. Y por convencion, se ponen en mayusculas, pero no parece mandatorio.

Efectivamente, no es obligatorio.
De todos modos, tené en cuenta que, si bien los conceptos son claros y distintos, alguna implementación puede prescindir de alguno de ellos... o agregar otros, como las variables de namespace que mencionabas de VW (un scope más en el compilador, seguramente).
En la implementación de Digitalk, en efecto, la variable de instancia de Class donde está el diccionario que contiene las variables de clase, se llama classPool.

Saludos
--

carlos e. ferro | senior developer caesar systems

[email protected]

--
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
 
http://www.clubSmalltalk.org

Responder a