>>>So if the particle has the observe method, how does a human being like myself observe?
>>
>>
procedure observe()
>>oObservation=create("empty")
>>for each oParticle in this.collParticles
>> oParticle.observe()
>> addProperty(oObservation, oParticle.cPropName, oParticle.uPropValue)
>>endfor
>>return oObservation
>>
>>In the universe where observer is also a particle, particle would be a collection. In the other one, particle can be anything, but observer is a collection (or something more complex), or has a collection of its own particles.
>
>
>I take it the above method belongs to an Observer class?
Yes, that's the working assumption.
>If so, how does the collection of particles get on the observer class?
This becomes interesting... how about during its .init()? If we say that observer is a set of particles (apart from its other PEMs), if it has none it doesn't exist, therefore
procedure init
if not this.AddParticleCollection()
return .f.
endif
>It seems to me that if the observer already knows about the particles it is observing, than it has already observed them.
Contradicts your assumption that the particles have their own .observe() method - so the observer wouldn't observe directly, it would poll its particles.