Vous êtes sur la page 1sur 5

ECOLE VEGA IP Initiation à la programmation orientée objet en Pascal

Chapitre I : Rappels et Notions Fondamentales

Nadir Bouchama
nadir.bouchama@gmail.com

Résumé

Ce chapitre est consacré à quelques rappels sur le langage de programmation PASCAL. On y abordera
également quelques notions fondamentales de la POO (Programmation Orientée Objets).
Ce support de cours ne se veut nullement exhaustif.

I. Définitions élémentaires
 Programme : texte écrit dans un langage informatique, comportant dans notre cas des instructions
structurées (organisées en structures). Il est destiné à être « converti » par Delphi en un logiciel
utilisable sous Windows.
 Développer en Delphi : écrire des programmes en utilisant le langage Pascal. Par abus, on confond le
langage (Pascal) et le logiciel (Delphi) qui le gère, et on parle de développer, plutôt que de programmer.
 Application : Logiciel fonctionnant sous Windows.
 Projet : c'est la base d'une application. Sous Delphi, pour créer une application, on constitue d'abord un
projet, constitué de divers morceaux (notion importante vue plus loin).
 Code source : morceau de programme, texte d'un programme écrit en Pascal
 Interface (utilisateur) : partie d'un logiciel qui est visible par l'utilisateur, à l'opposé du code source,
invisible à l'utilisateur.
 Fiche : fenêtre à l'état non compilé. Les fiches sont l’équivalent sous Delphi des fenêtres sous
Windows.

II. Rappels sur le langage de programmation PASCAL


Historique

Le langage PASCAL a été créé en 1969 à l'école polytechnique de ZURICH par Niklaus WIRTH. Il a été conçu
pour permettre d'enseigner la programmation comme une science. Ce langage est à la base d'une nouvelle
méthode de programmation : la programmation structurée, et c'est pour cette raison que ce langage a eu un tel
succès dans l'enseignement.

Structure générale d’un programme en Pascal :

Program Nom_du_programme;
Uses {unités}
Const
{Déclaration de constantes}
Type
{Déclaration de types personnalisés}
Var
{Déclaration de variables}
{Procédures et fonctions}
Begin
{Bloc principal du programme}
End.

Enseignant : N. BOUCHAMA
ECOLE VEGA IP Initiation à la programmation orientée objet en Pascal

Les procédures et les fonctions

Procedure NomP({paramètres}); Function NomF({paramètres}): {type};


Type Type
{Déclaration de types locaux} {Déclaration de types locaux}
Const Const
{Déclaration de constantes locales} {Déclaration de constantes locales}
Var Var
{Déclaration de variables locales} {Déclaration de variables locales}
{procédures | fonctions locales} {procédures | fonctions locales}
Begin Begin
{Corps de la procédure} {Corps de la fonction}
End ; NomF:={valeur de retour};
End ;

Les enregistrements
Un type de structure de données très utile est le type de données enregistrement. Tout comme le tableau,
l'enregistrement permet de stocker un ensemble d'informations se rapportant à un même sujet. Cependant, les
éléments d'un enregistrement ne sont pas obligatoirement tous du même type. Les enregistrements sont parfaits
pour stocker des informations concernant des gens ou des lieux.

Exemple d’enregistrement :

Type Personne = record


//champs
nom: string;
prenom: string;
date_naissance: string;
End;

Pascal Objet :
Le Pascal Objet (Object Pascal) est un langage compilé de haut niveau à types stricts qui gère la conception
structurée et orientée objet. Ces qualités sont la lisibilité du code, une compilation rapide et l’utilisation d’unités
multiples permettant une programmation modulaire. Le Pascal Objet propose des caractéristiques spéciales qui
gèrent le modèle de composant et l’environnement RAD de Delphi. Dans la plupart des cas, les descriptions et
exemples de ce manuel supposent que vous utilisez le Pascal Objet pour développer des applications Delphi.

III. Programmation Orientée Objets

Principe :

La programmation orientée objet (POO) consiste à modéliser informatiquement un ensemble d'éléments d'une
partie du monde réel (que l'on appelle domaine) en un ensemble d'entités informatiques. Ces entités
informatiques sont appelées objets. Il s'agit de données informatiques regroupant les principales caractéristiques
des éléments du monde réel (taille, couleur, ...).

Un objet est caractérisé par plusieurs notions:

1. Les attributs: Il s'agit des données caractérisant l'objet. Ce sont des variables stockant des informations d'état
de l'objet

2. Les méthodes (appelées parfois fonctions membres): Les méthodes d'un objet caractérisent son
comportement, c'est-à-dire l'ensemble des actions (appelées opérations) que l'objet est à même de réaliser. Ces
opérations permettent de faire réagir l'objet aux sollicitations extérieures (ou d'agir sur les autres objets). De plus,
les opérations sont étroitement liées aux attributs, car leurs actions peuvent dépendre des valeurs des attributs, ou
bien les modifier

Enseignant : N. BOUCHAMA
ECOLE VEGA IP Initiation à la programmation orientée objet en Pascal

3. L'identité: L'objet possède une identité, qui permet de le distinguer des autres objets, indépendamment de
son état. On construit généralement cette identité grâce à un identifiant découlant naturellement du problème (par
exemple un produit pourra être repéré par un code, une voiture par un numéro de série, ...)

Objectifs de la POO

 Lier les données et les fonctions qui les manipulent afin d’éviter des accès aux données par des
fonctions non autorisées.
 Obtenir une meilleure abstraction en cachant l’implémentation des techniques utilisées et en ne rendant
visible que des points d’entrée. Ainsi, si l’implémentation change, le code utilisateur n’est pas affecté.
 Réutiliser l’existant dans un souci de productivité.
 Traiter les erreurs localement au niveau des objets sans que cela ne perturbe les autres parties du
programme.
 Faciliter la maintenance.

Notions élémentaires de la POO :


Objet :
Un objet est la représentation informatique d'un objet dans son sens courant : il forme un tout, avec des
caractéristiques propres et un comportement. Il est manipulable. Un objet, au sens informatique, est une entité
contenant à la fois des données modifiables et des procédures qui agissent sur ces données.

En programmation orientée objet, les données de l'objet - appelées propriétés- ne sont accessibles qu'au moyen
des procédures contenues dans l'objet. Celles-ci constituent donc l'interface de l'objet avec l'extérieur. On les
appelle des méthodes. On n’a pas besoin de connaître les mécanismes internes de l'objet : seule la connaissance
des méthodes suffit pour le manipuler. L'objet peut donc être considéré comme une boite noire, réalisant
certains comportements prédéfinis.

Objet = enregistrement + procédures + fonctions

Classe :

Avec la notion d'objet, il convient d'amener la notion de classe. Cette notion de classe n'est apparue dans le
langage Pascal qu'avec l'avènement du langage Delphi et de sa nouvelle approche de la Programmation Orientée
Objet. Elle est totalement absente du Pascal standard.

Une classe rassemble deux éléments de la programmation procédurale :

1. Les champs :
Les champs sont à l'objet ce que les variables sont à un programme : ce sont eux qui ont en charge les données à
gérer. Tout comme n'importe quelle autre variable, un champ peut posséder un type quelconque défini au
préalable : nombre, caractère, ..., ou même un type objet.

2. Les méthodes :
Les méthodes sont les éléments d'un objet qui servent d'interface entre les données et le programme. Sous ce
nom obscur se cachent simplement des procédures ou fonctions destinées à traiter les données.

Représentation d’un objet

Enseignant : N. BOUCHAMA
ECOLE VEGA IP Initiation à la programmation orientée objet en Pascal

Exemple de déclaration de classe en PASCAL

Dans ce qui suit, nous donnons un exemple de déclaration d’une classe en Pascal Objet :

Type Personne = class


// Partie statique
nom: string;
prenom: string;
date_naissance: string;
//Partie dynamique
procedure etat_civil();
function calcul_age():byte;
End;

Exemple d’instanciation de classe en PASCAL

Var P1, P2 ,P3 : Personne ; Remarquons que pour le méthodes (c'est-à-


dire : pour la procédure etat_civil(); et la
fonction calcul_age():byte;), les entêtes ont été déclarés dans l’objet lui-même mais les corps de ces deux
méthodes doivent être déclarés en dehors de l’objet).
Niveaux de visibilité :

Il existe trois niveaux de visibilité:

• publique: les fonctions de toutes les classes peuvent accéder aux données ou aux méthodes d'une classe
définie avec le niveau de visibilité public. Il s'agit du plus bas niveau de protection des données . En
Pascal Objet, on utilise le mot clé public.
• protégée: l'accès aux données est réservé aux fonctions des classes héritières, c'est-à-dire par les
fonctions membres de la classe ainsi que des classes dérivées. En Pascal Objet, on utilise le mot clé
protected
• privée: l'accès aux données est limité aux méthodes de la classe elle-même. Il s'agit du niveau de
protection des données le plus élevé. En Pascal objet, on utilise le mit clé private.

Notion d’héritage
L'héritage est une des fonctions les plus puissantes d'un langage orienté objet tel que Delphi. Il permet à des
classes de descendants de bénéficier des propriétés de leurs ancêtres. Ils héritent des champs, des propriétés, des
méthodes et des événements de leur classe ancêtre. En plus de disposer des attributs de ses ancêtres, la classe
enfant peut leur ajouter ses propres éléments. Ceci vous permet de prendre une classe comportant la plupart des
éléments fondamentaux dont vous avez besoin, et d'ajouter de nouveaux objets qui adaptent cette classe à vos
besoins.

Exemple d’héritage :

Type Etudiant= class


Filière : string ;
Procedure PasserExamen() ;
End ;

IV. PROGRAMMATION EVENEMENTIELLE

Programmer une application graphique devant fonctionner en mode événementiel est un acte très différent que
celui consistant à réaliser une application classique selon les règles strictes de la programmation structurée: en
effet, en mode événementiel, il faut réaliser des fonctionnalités pratiquement indépendantes les unes des autres
sans qu'il soit possible de définir l'ordre dans lequel elles seront exécutées. De plus ce nombre de fonctionnalités
est souvent très important et peut être difficile à appréhender dans son ensemble.

Enseignant : N. BOUCHAMA
ECOLE VEGA IP Initiation à la programmation orientée objet en Pascal

Il est donc prudent pour un programmeur de commenter ses différentes sources et d'utiliser certaines règles de
dénomination des différentes variables pour que l'ensemble du projet ne devienne pas difficile, voire impossible,
à gérer.
Il faut remarquer que, à l'intérieur de chaque fonctionnalité, la programmation structurée reprend ses droits
même si l'algorithmique de chaque fonctionnalité est en général relativement simple.

Liens très recommandés:


www.developpez.com
www.commentcamarche.com
www.phidels.com
www.borland.com
www.delphi32.com

Enseignant : N. BOUCHAMA