Re: Help with OO Terminology

From: James <jraustin1_at_hotmail.com>
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

Original text of this message