2008/11/26 Bert Freudenberg bert@freudenbergs.de:
On 26.11.2008, at 09:48, Igor Stasenko wrote:
2008/11/26 Trygve Reenskaug trygver@ifi.uio.no:
On 26.11.2008 05:32, Igor Stasenko wrote:
- Everything is an object
- Objects communicate by sending and receiving messages (in terms of
objects) 3. Objects has their own memory (in terms of objects)
- Every object is an instance of class (which must be an object)
- The class holds the shared behavior for its instances (in the form
of objects in a program list) 6. To eval a program list, control is passed to the first object and the remainder is treated as its message
so, where in these statements you find anything about inheritance, or something where it says that subclass(es) should have any assumptions about the ways how superclass is storing its instances in memory, and therefore a subclass allowed to directly manipulate the object's state without consulting with superclass?
I'm afraid Alan wasn't as precise as he should have been here.
I think he did this intentionally, because a precise parts is up to implementation. The principles above is most generic ones. Btw, notice a line between 3 and 4, its not just a random stroke - its actually shows a first step from most generic to more specific.
Just a meta remark - I find it highly amusing how people dissect the Gospel of Alan, even interpreting it literally. He must get quite a chuckle from that ;)
:) i didn't meant to dissect it. Just wanted to point out, that we in the same boat (smalltalk) as long as design follows these basic principles. The rest is implementation details.
- Bert -