Programmation orientée objet avec Ada
Déclaration
La technologie objet est énoncée avec Ada par l'usage des mots "tagged" et "abstract".
Le mot "tagged"
Le mot "tagged" permet de déclarer qu'il sera possible de dérivé le type grâce au mot "new" en un autre type ; Lequel sera alors en partie constitué des attributs du type dont il dérive.
Exemple
type Vehicule (Nb_Roue : Short_Integer) is tagged
record
...
end record ;
type Une_Voiture is new Vehicule (Nb_Roue => 4) with
record
...
end record;
Le mot "abstract"
Le mot "abstract" permet de déclarer un type dont les types en dérivant hériterons des propriétés de la classe considéré.
Exemple
type Une_Page is abstract tagged null record;
Répartition
Dans une classe, la répartition des opérations est automatique.
Exemple :
type vehicule(Nb_Roue : positive) is abstract tagged null record;
procedure demarrer(Machine : vehicule) is abstract;
type Vehicule_Access is access all Vehicule'Class;
type Voiture is new vehicule(4) with null record;
type moto is new vehicule(2) with null record;
procedure demarrer(Automobile : Voiture);
procedure demarrer(mobilette : Moto);
Vehicule : Vehicule_access := new voiture;
begin
Vehicule.demarrer;
|