[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2004-09-22 (02:59) |
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