|
|
|
|
|
- Fonctionnement
- Rappel des règles de copie des variables
Clone (Fonction) En anglais : Clone Construit une copie d'une instance de classe. // Il existe un feu tricolore dans le XIIè arrondissement de Paris, au 1 Rue Taine // Il est rouge FeuCroisement est un FeuTricolore FeuCroisement.Adresse = "1 Rue Taine, 75012 Paris" FeuCroisement.Statut = RougeFoncé  // On doit mettre en place un deuxième feu, au numéro 25 de la même rue  // Si on copie simplement l'objet... FeuCopie est un FeuTricolore dynamique = FeuCroisement FeuCopie.Adresse = "25 Rue Taine, 75012 Paris" // FeuCroisement a aussi changé d'adresse... !  // Si on clone l'objet... FeuBis est un FeuTricolore dynamique = Clone(FeuCroisement) // FeuBis contient les mêmes informations que FeuCroisement // Mais si l'on modifie l'une de ses propriétés, cela n'impacte pas le feu d'origine  // Change l'adresse FeuBis.Adresse = "25 Rue Taine, 75012 Paris" // >> FeuCroisement.Adresse = "1 Rue Taine, 75012 Paris"  FeuBis.Statut = RougeFoncé // >> FeuCroisement.Statut = VertFoncé Syntaxe
<Résultat> = Clone(<Source>)
<Résultat> : Chaîne de caractères Instance de la classe copiée. <Source> : Chaîne de caractères Instance de la classe à copier. Remarques Fonctionnement Lors de l'utilisation de la fonction Clone : - une nouvelle instance de même classe que l'instance d'origine est allouée avec exécution du constructeur par défaut (sans paramètre ou paramètres optionnels).
- une copie membre à membre est effectuée de l'instance d'origine vers la nouvelle instance.
Remarque : La copie tient compte de l'attribut <Copie> de chaque membre : - <Copie=Faux> pour ignorer un membre,
- <Copie=Clone> pour effectuer un clonage (copie profonde).
Rappel des règles de copie des variables | | Type des variables | Effet |
---|
Types simples (entier, réel, chaîne, ...) | La valeur de la variable est copiée. | Tableaux | Le tableau destination est une référence sur le tableau source. | Tableaux associatifs | Le contenu du tableau est copié. | File | Le contenu de la file est copié. | Pile | Le contenu de la pile est copié. | Liste | Le contenu de la liste est copié. | Objet = Objet dynamique | Les membres de l'objet dynamique sont copiés dans ceux de l'objet. | Objet = Objet | Les membres de l'objet source sont copiés dans ceux de l'objet destination. | Objet dynamique = Objet dynamique | L'objet dynamique destination est une référence à l'objet dynamique source. | Objet dynamique = Objet | L'objet dynamique destination est une référence à l'objet source. | Structure = Structure dynamique | Une copie de la structure est réalisée. Les membres de même nom sont initialisés avec les valeurs existantes. Les membres inexistants sont ignorés. | Structure = Structure | Une copie de la structure est réalisée. Les membres de même nom sont initialisés avec les valeurs existantes. Les membres inexistants sont ignorés. | Structure dynamique = Structure dynamique | La structure dynamique destination est une référence à la structure dynamique source. | Structure dynamique = Structure | La structure dynamique destination est une référence à la structure source. | Type avancé = Type avancé | Une copie de la variable de type avancé est réalisée. Les propriétés de même nom sont initialisées avec les valeurs existantes. | Type avancé = Type avancé dynamique | Une copie de la variable de type avancé est réalisée. Les propriétés de même nom sont initialisées avec les valeurs existantes. | Type avancé dynamique = Type avancé | La variable de type avancé dynamique destination est une référence à la variable de type avancé source.
| Type avancé dynamique = Type avancé dynamique | La variable de type avancé dynamique destination est une référence à la variable de type avancé dynamique source. |
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|