Éléments de base du langage ADA


Éléments de base du langage ADA

Éléments de base du langage Package

‰ Packages permettent un code structuré
On regroupe dans le package des choses de même « nature »Ancêtres des objets, ProgrammationOrientéObjet
‰ Packages permettent une meilleure réutilisation
‰ Packages permettent une compilation séparée
Comme en JAVA
Compilation des packagesDépendance entre packages
‰ Packages ont
Une interface visible de l’extérieurUn corps (body) caché de l’extérieur
‰ Packages contiennent
Fonctions, Types, Constantes, Variables, …
‰ Utilisation des packages
Déclaration des packages utilisés with my_package ;
Utilisation d’une fonction my_package.mpFonction_1 (…) ;
Ou, si le package est fortement utilisé use my_package ; mpFonction_1 (…) ;
ƒ Attention cela nuit à la clarté du code, car on ne sait pas d’où vient la fonction
‰ Codage de l’interface package PILE is — spécification
— EMPILER et DEPILER visibles
— de l’extérieur
procedure EMPILER(X: in Integer) ;
function DEPILER return Integer ;
end PILE ;
‰ Codage du corps
Package body PILE is — corps
MAX : constant := 100 ; — partie non visible
P : array (1 .. MAX) of Integer;
HAUT : Integer range 0..MAX ;
— partie visible
— car dans l’interface
procedure EMPILER(X: in Integer) is
begin
HAUT := HAUT + 1;
P(HAUT) := X;
end EMPILER;
function DEPILER return Integer is
begin
HAUT := HAUT-1 ;
return P(HAUT+1) ;
end DEPILER
begin — initialisation du package
HAUT := O ;
end PILE ;

Éléments de base du langage Package générique

‰ Codage de l’interface
generic
MAX : Integer;
type Item is private ;
package PILE is — spécification
— EMPILER et DEPILER visibles
— de l’extérieur
procedure EMPILER(X: in Item) ;
function DEPILER return Item ;
end PILE ;
‰ Codage du corps
Package body PILE is — corps
— partie non visible
P : array(1 .. MAX) of Item;
HAUT : Integer range 0..MAX ;
— partie visible
— car dans l’interface
procedure EMPILER(X: in Item) is
begin
HAUT := HAUT + 1;
P(HAUT) := X;
end EMPILER;
function DEPILER return Item is
begin
HAUT := HAUT-1 ;
return P(HAUT+1) ;
end DEPILER
begin — initialisation du package
HAUT := O ;
end PILE ;
‰ Instanciation d’une pile — pile booléenne
package PREMIERE_PILE is new PILE(50, Boolean) ; — pile entière
Package SECONDE_PILE is new PILE(100, Integer);

?Introduction
?Historique
?ADA
?Utilisation d’ADA aujourd’hui
?Objet et limites du cours
?Éléments de base du langage
?Package
?Type
?Structure de contrôle
?Fonction et procédure
?Autres
?Éléments temps réel
?Objet tâche et type tâche
?Gestion du temps
?Synchronisation directe par rendez vous
?Synchronisation sélective
?Objet protégé
?Avortement

Télécharger le cours complet