Re: Abstract Classes

> [Eric Jain] 
> Is there a way to indicate that a Class should be abstract, i.e. that no
> direct instances are allowed to exist?

Owl classes are like set-theory classes, not like OOP classes.  There
is no notion of "direct instance."

In mathematics, a class or set is nothing but a ... bunch or ... group
or ... (hmmm) set of objects.  If x is an element of set S, it's
pointless to try to find a set S' such that x elt S' and S' subset S.
There will always be such an S', usually quite a large number.  If you
change the "subset" to "proper subset," then the only time there can
fail to be such an S' is if S = {x}.

In OOP, classes aren't classes of objects, just convenient packages of
methods and such.  An object x can be an instance of S', and S' be a
subclass of S, without x being an instance of S in any useful sense.
Of course, it's an instance by fiat, but what I mean is that if there
is a set of properties that is intended to hold for elements of S and
fail to hold for elements outside of S, then all those properties
could fail to hold for x.


-- 
                                   -- Drew McDermott
                                      Yale Computer Science Department

Received on Wednesday, 11 February 2004 18:53:12 UTC