/****************************************************************/
Type Reference(TypeElement : Type) Defaut Final TailleSegment 32 ConserverObjets
/* Objet : Definition du type Reference. */
/****************************************************************/
/*-------------------------------------------------------------*/
/* Heritage des proprietes d'Objet. */
/*-------------------------------------------------------------*/
Prive :
EstInstanceDe : Type Lecture Public;
/*-------------------------------------------------------------*/
/* Heritage des methodes d'Objet. */
/*-------------------------------------------------------------*/
Public :
Fonction Optimiser(Invariant) Identique(O : Nul Ou Objet) Retourner Nul Ou Booleen;
Procedure Convertir(O : Nul Ou Objet);
Fonction Optimiser(Invariant) CreeParLeServeur() Retourner Entier;
Fonction Optimiser(Invariant) CreeParLeProcessus() Retourner Entier;
Fonction Optimiser(Invariant) CreeDansLEntrepot() Retourner Entrepot;
Fonction Cloner(EntrepotCible : Nul Ou Entrepot=Nul, Profondeur : ModeClonage = ClonageObjetSeul) Retourner Nul Ou Objet;
Fonction LirePropriete(NomPropriete : Caractere) Retourner Nul Ou Objet;
Procedure EcrirePropriete(NomPropriete : Caractere, Valeur : Nul Ou Objet);
Fonction IncrementerDecrementerPropriete(NomPropriete : Nul Ou Caractere, Incrementer : Booleen, Prefixe : Booleen) Retourner Nul Ou Objet;
Procedure SupprimerPropriete(NomPropriete : Caractere);
Fonction Optimiser(Invariant) EnumererProprietes(NumeroPropriete : Entier, TypePropriete : Nul Ou Type=? Sortie, PeutEtreNul : Booleen=? Sortie, Aide : Nul Ou Caractere=? Sortie, NomEnumere : Nul Ou Caractere=? Sortie) Retourner Nul Ou Caractere;
Fonction Optimiser(Invariant) Adresse() Retourner Nul Ou Caractere;
Prive :
Fonction Exporter(E : Nul Ou IEchangeElementaire) Retourner Boolean;
Fonction Importer(E : Nul Ou IEchangeElementaire, EntrepotCible : Nul Ou Entrepot=Nul, EstFiltre : Booleen=Faux, V : Entier=0, R : Entier=0, C : Entier=0) Retourner Nul Ou Objet;
/*-------------------------------------------------------------*/
/* Methodes propres. */
/*-------------------------------------------------------------*/
Public :
Valeur : Nul Ou Objet;
Constructeur(T : Nul Ou Type, O : Nul Ou Objet);
Prive :
Destructeur(MettreEnAnteMemoire : Booleen) Retourner Booleen;
Fin Type
Le type Reference modélise une référence vers un objet.
Le type Reference possède un constructeur explicite permettant de construire une référence sur l'objet O. Le type de l'objet doit être en accord avec le type de l'élément de la référence.
Principal
/*******/
Variable
/******/
A : Caractere;
R1 : Nul Ou ReferenceDe Caractere;
R2 : Nul Ou ReferenceDe Caractere;
Debut
A="Première valeur";
R1=ReferenceDe(A);
R2=ReferenceDe(A);
A="Seconde valeur";
/* La valeur de A change mais pas la valeur référencée par R1 ou R2. */
R1.Valeur="Troisième valeur";
/* La valeur référencée par R1 et R2 change mais pas celle de A. */
Ecran.Ecrire(A);
Ecran.Ecrire(R1.Valeur);
Ecran.Ecrire(R2.Valeur);
Fin Principal
- | - | - | - | - | - | - | - | - |