Re: c.d.theory glossary -- definition of "class"
Date: Wed, 23 Jun 2004 01:23:14 +0200
Message-ID: <40d8bf62$0$563$e4fe514c_at_news.xs4all.nl>
Dawn M. Wolthuis wrote:
> mAsterdam wrote:
>>Glossary 0.0.4:
<snip>
>>[Class] >>A class is what provides a name and a place for >>the abstract behavior of a set of objects >>said to belong to the class. (Larry Wall, Apocalypse 12) >> >>note: >>Other definitons welcome, this goes for the rest as well, >>of course. >> >>Some use 'class' as having exposed data. >>Please be explicit about this if you do so.
>
> I really don't like the "A class is what ..." definition,
> especially since folks like Date keep asking why the OO
> folks are so confused on what a class is -- is
> it a variable, for example?
I don't like it either, but it is the best I've seen yet.
There are two things I like about this definition:
1. the focus on dynamics: behavior.
2. the blackbox character: we are not supposed to look inside.
> I would like to make it clear that it is metadata.
Why?
> I don't just mean that the source code for the class is
> metadata -- the class is metadata.
> Here is a definition I just read in
> Systems Analysis & Design: An Object-Oriented Approach with UML
> by Dennis, Wixom, and Tegarden
>
> "A class is the template we use to define objects."
This says something about the structural relation between
two concepts, but it does not define either of them.
Analogies:
A skeleton is the template we use to define a shape.
A grammar is the template we use to define sentences.
A formula is the template we use to define calculations.
A table is the template we use to define rows.
A problem is the template we use to define solutions.
> This leaves the meatier definition to "objects" but at
> least it states more clearly what a class is.
Trying to find out what a class is from this definition it doesn't give me anything but: go understand 'object' and come back later. How do these authors define object?
> Additionally, what are the biggest issues with identifying
> a class as a type specification?
> Putting it together, I'd say:
>
> [Class]
> Metadata that provides a template for software objects.
> Object Type specification
>
> Then an objection might be -- "is it a template or a specification" and I
> think those are close enough that it is both. --dawn
My objection is: it isn't doing a good job at defining. This *does* define:
>>A class is what provides a name and a place for >>the abstract behavior of a set of objects >>said to belong to the class.
I would really like another one so thank you for trying - but I don't like it, sorry. Received on Wed Jun 23 2004 - 01:23:14 CEST