IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Implémentation des design patterns en pascal


précédentsommairesuivant

II. La programmation Objet en Pascal : cas du compilateur Free-Pascal

II-A. Le Pascal Objet

Le langage pascal était à l'origine limité à la programmation procédurale. Celui-ci à subit par la suite diverses évolutions et plusieurs projets ont tenté d'étendre les possibilité dudit langage pour lui offrir les concepts de la programmation objet.
L'un des premiers fût implémenter dans Turbo Pascal 7 qui a introduit les objets avec une notion non loin des structures -record- existant en Pascal standard mais offrant les notions d'encapsulation -public, private-, d'héritage et de polymorphisque grace à l'utilisation des pointeurs.

Plutard, plusieurs projets sont parvenus à élever le langage Pascal au rang des langages les plus populaires du marché en lui offrant les notions de la Programmation Orientée Objet tel que maintenant définies. Parmi ceux-ci, nous pouvons citer FreePascal et Delphi.
Dans cet article, nous étudierons les motifs de conception avec les notions de programmations orientées tels que défini par Free Pascal.

II-B. Les classes en Free-Pascal

Free Pascal utilise la notion de classe pour introduire la Programmation Orientée Objet. Une classe est une fabrique ou un modèle servant à produire des objects du même type que la classe. La classe définit les propriétès et les comportement que devrons avoir tous les ojects faits à partir de cette fabrique.

Les objets crée à partir d'un modele de classe sont accéssible à partir d'une réference que contient les variables dans le programme.

Une exemple de code portant sur la création d'un objet :

 
Sélectionnez
Unit UModele;

interface

type
  Modele : class
           Begin
             private nom : String;
             private prenom : String;
             public constructor init(_nom : String; _prenom : String);
             public procedure say();
          End;

Implementation

constructor Modele.init(_nom : String; _prenom : String);
begin
 nom := _nom;
 prenom := _prenom;
end;

procedure Modele.say();
begin
 writeln('mon nom est : '+nom+' et mon prénom est '+prenom);
end;

End.

On peut alors construire une classe comme suit :

 
Sélectionnez
var personne : Modele;
Begin
 personne := Modele.init('Nabster', 'Darryl');
 personne.say();
 End.

Comme vous avez pu le constater, une classe se définit en deux partie : d'abord l'entête de la classe contenant les propriétés de cette classe ainsi que la signature des méthodes, ensuite vient la définition des méthodes.
Lors de l'instantiation de l'objet, on appelle le constructor de la classe avec les paramètre adéquats. Vous devez garder à l'esprit que la variable personne ne contient qu'une réference vers l'objet qui a été crée et non l'objet en lui même. Si l'on fait une analogie avec les pointeurs, la variable personne ne contiendrait que l'adresse mémoire de l'objet qui a été précedemment crée.

L'encapsulation est un autre point éssentiel de la programmation qui se définit simplement par la possibilié qu'à une classe de cacher certains de ses membres - propriétés ou méthodes- pour que ceux-ci ne soient pas accessibles que sous certaines conditions.
Aisin, Free Pascal définit trois niveau de visibilité qui sont :

  • Private : les élements privés d'une classe ne sont accessible qu'à l'interieur de la classe elle même
  • Protected : Comme les éléments privates mais, ceux sont aussi disponibles aux classes héritant de cette classe
  • Public : Ces éléments sont directement accessible meme depuis l'exterieur de la classe.

II-C. Le systeme d'heritage en Free-Pascal

II-D. Les interfaces en Free-Pascal

II-E. Conventions et piège à éviter


précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2011 kpizingui darryl. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.