Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] Re: OCAML Downcasting?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: skaller <skaller@u...>
Subject: Re: [Caml-list] Re: OCAML Downcasting?
On Wed, 2004-09-22 at 11:30, Jacques GARRIGUE wrote:

> From an implementation point of view, java interfaces are just a hack
> to work around the absence of multiple inheritance.

I don't think this is quite right.

In C++ you can use 'mixin' abstract classes, however
the basic rule is that you do all the mixing with
the abstractions, providing subtyping, 
and then any mixing you do in providing an 
implementation is regarded as 'implementation inheritance'
which you should represent using private bases.

However this last rule isn't enforced. Java provides
two ways to enhance enforcement: it separates
the notion of the abstract class from the concrete
implementation, and it provides 'final' classes.

Thus, the idea isn't entirely a workaround for
lack of multiple inheritance, but instead a
refinement of more general and less secure C++
technology, which provides a bit more enforcement.

I.e: the separation is deliberate and based
on some concept of enforcement of constraints,
rather a workaround for a deficiency.

-- 
John Skaller, mailto:skaller@users.sf.net
voice: 061-2-9660-0850, 
snail: PO BOX 401 Glebe NSW 2037 Australia
Checkout the Felix programming language http://felix.sf.net



-------------------
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners