Re: c.d.theory glossary -- definition of "class"

From: Dawn M. Wolthuis <dwolt_at_tincat-group.com>
Date: Tue, 22 Jun 2004 18:40:07 -0500
Message-ID: <cbag0u$8dl$1_at_news.netins.net>


"mAsterdam" <mAsterdam_at_vrijdag.org> wrote in message news: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.
>
> metadata: data about data.
> A class is about behavior. Is it about data?
> An object, instance of the class, may have
> some data, but to get that data we'll have
> to ask it (by means of what the class told
> us about how to ask objects of this class questions)
> to give us that (and maybe other) data.
>
> > 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.

OK, I'll take some time to look around a bit more or perhaps Tom H can help. I have no clue what a class is from a def that starts "a class is what provides ..." -- is it a person? If I provide a name and a place for the abstract behavior of a set of objects, then am I a class? --dawn Received on Wed Jun 23 2004 - 01:40:07 CEST

Original text of this message