DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / POO (Programmation Orientée Objet)
  • Présentation
  • Syntaxe
  • Déclaration d'un objet dynamique
  • Instancier un objet dynamique
  • Libérer un objet dynamique
  • Remarques
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
Un objet peut être associé dynamiquement à une classe, on parle alors d'instanciation dynamique de l'objet.
L'instanciation dynamique d'objet permet de créer un objet à un instant donné et de libérer cet objet lorsqu'il n'est plus utilisé.
Pour instancier un objet, il faut :
  1. Déclarer un objet dynamique.
  2. Instancier l'objet.
Remarques :
  • La libération de l'objet est automatique lorsqu'il n'est plus utilisé. Toutefois, il est possible de forcer la destruction de l'objet (pour provoquer l'exécution du destructeur par exemple).
  • La mise en oeuvre du polymorphisme requiert l'instanciation dynamique.
  • Pour récupérer l'instance de l'objet en cours dans les méthodes de la classe, utilisez le mot-clé objet (ou le mot-clé this).
MFichier est une Classe
Nom est une chaîne
Extension est une chaîne
Répertoire est une chaîne
FIN
 
FichierSource est un objet MFichier dynamique
// ...
// Créer l'objet
FichierSource = allouer un MFichier
// Traitement sur l'objet...
// ...
// Libérer l'objet
libérer
Syntaxe

Déclaration d'un objet dynamique

<NomObjet> est [un] [objet] <NomClasse> dynamique
Détail de la syntaxe
<NomObjet>
Nom identifiant l'instance de la classe.
<NomClasse>
Nom identifiant la classe, défini lors de la création de la classe sous l'éditeur de code.

Instancier un objet dynamique

<NomObjet> = allouer un <NomClasse> ([<Paramètres>])
Détail de la syntaxe
<NomObjet>
Nom identifiant l'instance de la classe.
<NomClasse>
Nom identifiant la classe, défini lors de la création de la classe sous l'éditeur de code.
<Paramètres>
Paramètres optionnels du constructeur.

Libérer un objet dynamique

Syntaxe 1 :
libérer <NomObjet>
Détail de la syntaxe
<NomObjet>
Nom identifiant l'instance de la classe.

Syntaxe 2 :
<NomObjet> = Null
Détail de la syntaxe
<NomObjet>
Nom identifiant l'instance de la classe.
Ce paramètre peut correspondre à un objet non dynamique.

Remarques

  • La libération de l'objet est automatique lorsque il n'est plus utilisé. Toutefois, il est possible de forcer la destruction de l'objet (pour provoquer l'exécution du destructeur par exemple).
  • Pour tester si un objet dynamique est alloué et n'a pas encore été libéré, il faut comparer cet objet à NULL. Par exemple :
    SI <Nom Objet> = NULL ...

    SI <Nom Objet> <> NULL ...
AndroidJava Cas particulier en Java/Android
La notion de destructeur n'existe pas en Java/Android. Le code situé dans le destructeur d'une classe ne sera par conséquent jamais exécuté.
Un objet est libéré par le ramasse-miette (garbage collector) lorsqu'il n'est plus référencé dans l'application. Le moment où intervient cette libération n'est pas prévisible.
Pour forcer la libération d'un objet, il est possible de l'affecter à NULL ou d'utiliser l'instruction Libérer.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale