Re: An object-oriented network DBMS from relational DBMS point of view

From: Daniel <danielaparker_at_gmail.com>
Date: 19 Mar 2007 07:00:13 -0700
Message-ID: <1174312813.317761.30680_at_y66g2000hsf.googlegroups.com>


On Mar 19, 3:56 am, "Alfredo Novoa" <alfred..._at_gmail.com> wrote:
> On 19 mar, 03:08, "Marshall" <marshall.spi..._at_gmail.com> wrote:
>
> > In what way is that not well-defined? "A legal entity is either
> > a person or a corporation." No problem.
>
> It does not specify whether the instance is a value or a variable.
>
An instance of a type is a value, surely.

> In the book, class is a kind of type, so object could mean value, but
> it also says:
>
> "The reference values (often just references) are pointers to these
> objects"
>
> You can not point to a value.

The sentence has a context, it presumes a memory model, you can point to the location in memory in which the value resides.
>
> "A class instance is explicitly created by a class instance creation
> expression"
>
> A class instance creation expression creates a variable. Values canīt
> be created.
>
What does that mean, though, in the context of compound types? Consider the lowly record, a smple aggregate of fields. You would agree that it's meaningful to talk about creating an instance of a record type, and that that instance is a value?

> So it is clear that some objets are variables, but what about the
> values
> holded by the variables?
>
The values are the objects.

In the context of the Java memory model, you need a reference to them in order to do anything with them. So you have a reference (pointer) to an object, stored in a variable.

So an object, like an instance of a record, is a value. In either case, though, any particular value is not very interesting. In the case of objects, OO people talk about the value of the reference as representing the identity of the object, if a property of the object is mutated, it's still the "same" object, in some sense. Similiarly, people talk about the value of, say, the employee_id field as representing the identity of the record, if other properties of the record are mutated, it is still in some sense the "same" record, or if a record with the same employee_id exists in another location in memory, it is also in some sense the "same" record. But these considerations, which are matters of interpretation, don't affect the fact that an object, like a record, like any instance of a type, is a value.

Regards,
Daniel Parker Received on Mon Mar 19 2007 - 15:00:13 CET

Original text of this message