From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id PAA17170 for caml-redistribution; Mon, 24 Aug 1998 15:09:22 +0200 (MET DST) Received: from nez-perce.inria.fr (nez-perce.inria.fr [192.93.2.78]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id QAA25127 for ; Thu, 20 Aug 1998 16:54:47 +0200 (MET DST) Received: from vacentral (ns1.aac.va.gov [38.214.24.2]) by nez-perce.inria.fr (8.8.7/8.8.7) with SMTP id QAA12000 for ; Thu, 20 Aug 1998 16:54:37 +0200 (MET DST) To: "'caml-list@inria.fr'" Cc: "Mitchell, Brian, VBAVACO" Subject: Encapsulation in Objective Caml Date: Thu, 20 Aug 1998 10:51:26 -0400 X-Mailer: Microsoft Exchange Server Internet Mail Connector Version 4.0.995.52 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable From: "Mitchell, Brian, VBAVACO" Message-ID: Sender: weis Greetings, I have recently begun to use Objective Caml...including reading as much documentation as possible. However, I have a question that I did not see within the latest documentation version (ocaml 2.00). 1. How is encapsulation handled in Objective Caml 2.0 I want to hide implementation details of a class. Then, the user can only perform a restricted set of operations on the hidden members of the class by executing special functions commonly called methods. The actions performed by the methods are determined by me..of course, that means I must be careful not to make the methods either overly flexible or too restrictive. 2. How does this vary from Java or C++ ? For instance, the concept of data encapsulation in C++ is through the use of the public, protected and private keywords, which are placed in the declaration of the class. Anything in the class placed after the public keyword is accessible to all the users of the class; elements placed after the protected keyword are accessible only to the methods of the class or classes derived from that class; elements placed after the private keyword are accessible only to the methods of the class. 3. Is it possible to use Messaging in OCaml 2.0 ? When I refer to "Messaging", I mean calling a method of an object instantiated from a class. ----------------- Fran=E7ais ----------------- Salutations, J'ai récemment commencé à utiliser Objective Caml ... comprenant = la lecture autant documentation que possible. Cependant, j'ai une question que je n'ai pas vue dans la dernière version de documentation (ocaml 2,00). 1. Va comment l'encapsulation manipulée dans Objective Caml 2,0 Je veux cacher des détails de mise en place d'une classe. Puis, l'utilisateur peut seulement exécuter un ensemble restreint = d'exécutions sur les membres cachés de la classe en exécutant des méthodes généralement appelées spéciales de fonctions. Les actions exécutées par les méthodes sont = déterminées par le cours de me..bien sur, ce des moyens que je dois faire attention à = ne pas rendre les méthodes excessivement flexibles ou trop restrictives. 2. Comment est-ce que ceci change de Java ou de C++? Par exemple, le concept de l'emballage des données dans C++ est par d'utilisation des mots-clés de public, protégée et privés, qui = sont placés dans la déclaration de la classe. Quelque chose dans la = classe placée après le mot-clé public est accessible à tous les = utilisateurs de la classe; éléments placés après que le mot-clé protégé = soient accessible seulement aux méthodes de classe ou de classes dérivées de cette classe; les éléments placés = après le mot-clé privé sont accessibles seulement aux méthodes de classe. 3. Est-il possible d'utiliser la transmission de messages dans OCaml 2,0? Quand je me réfère à l'" transmission de messages ", je veux dire qu'appelant une méthode d'objet instantiated d'une classe. Thank you (merci), Brian Mitchell public class seniorSystemsAnalyst extends BrianMitchell implements IMC { if (online != true) System.out.println("TEL - 202.275.5577 || FAX - 202.275.5092"); else System.out.println(" company = http://www.imc.com && personal = http://www.esva.net/~mitchell/ && e-mail = bmitchell@imc.com || mitchell@esva.net "); }