Encapsulation in Objective Caml

From: Mitchell, Brian, VBAVACO (IMCBMITC@vba.va.gov)
Date: Thu Aug 20 1998 - 16:51:26 MET DST


To: "'caml-list@inria.fr'" <caml-list@inria.fr>
Subject: Encapsulation in Objective Caml
Date: Thu, 20 Aug 1998 10:51:26 -0400
From: "Mitchell, Brian, VBAVACO" <IMCBMITC@vba.va.gov>

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 ");
}



This archive was generated by hypermail 2b29 : Sun Jan 02 2000 - 11:58:15 MET