Re: Help with OO Terminology
Date: 12 Jun 2002 22:47:05 -0700
Message-ID: <a6e74506.0206122147.1fe5420b_at_posting.google.com>
> > Suppose we have objects ... A, B, C, D, E, F, G, H, ...
> > where each is an instance of the previous.
>
> What do you mean by this?
> An object cannot have instances, only classes may have instances.
I want to 'tweak' the OO model to allow instances to have instances. In the 'tweaked' OO model, I need such terminology. Below is the 'tweaked' OO model.
An object represents a thing: a value, a word, a person, a car, a sound, a picture, a movie, a smell, a feeling, an idea, the concept of a Marble, Marble1, Marble2, Marble3, etc. An object (Marble) can have instances (M1, M2, M3). An instance (M1) is an object that has a class (Marble). A class (Marble) is an object that has an instance (M1).
An object's definition is orthogonal because the thing it represents is orthogonal. This orthogonality becomes apparent when object M1 has instances(M1a, M1b, M1c). Object M1 is now both an instance and a class.
The concept of an object can also be described
by the mathematical concept of a relation.
Set A = {M1, M2, M3} // Function(f) Domain
Set B = {Marble} // Function(f) Range
The relation between Domain and Range is: Marble = f(a)
or in oo-terminology, the class of any object in the Domain is
Marble.
An object also inherits the non-overridden properties and methods of its ancestor classes. An object can override/add properties and methods. Received on Thu Jun 13 2002 - 07:47:05 CEST