L'opérateur
est <Classe> permet de savoir si l'objet manipulé est un objet de la classe ou un objet de l'une des dérivées de la classe.
Syntaxe
<Résultat> = <Objet> est <Classe>
<Résultat> : Booléen
- Vrai si l'objet manipulé est un objet de la classe ou un objet d'une de ses dérivées,
- Faux dans le cas contraire.
<Objet> : Objet de classe
Nom de l'objet à tester. Cet objet peut être un objet dynamique ou non.
<Classe> : Classe
Nom de la classe. L'objet peut appartenir ou non à cette classe.
Remarques
Dans cet exemple, quatre classes sont utilisées :
- ClasseBase1
- ClasseBase2
- ClasseDérivée qui dérive de ClasseBase1
- ClasseDérivéeDouble qui dérive de ClasseBase1 et ClasseBase2
Le code suivant permet de tester l'appartenance de l'objet aux différentes classes.
Résultat1 est un booléen
Objet1 est un objet ClasseBase1 dynamique
Objet1 = allouer un ClasseBase1
Résultat1 = Objet1 est ClasseBase1 // Résultat1 contient "Vrai"
Résultat1 = Objet1 est ClasseBase2 // Résultat1 contient "Faux"
Résultat1 = Objet1 est ClasseDérivée // Résultat1 contient "Faux"
Résultat1 = Objet1 est ClasseDérivéeDouble // Résultat1 contient "Faux"
Objet1 = allouer un ClasseDérivée
Résultat1 = Objet1 est ClasseBase1 // Résultat1 contient "Vrai"
Résultat1 = Objet1 est ClasseBase2 // Résultat1 contient "Faux"
Résultat1 = Objet1 est ClasseDérivée // Résultat1 contient "Vrai"
Résultat1 = Objet1 est ClasseDérivéeDouble // Résultat1 contient "Faux"
Objet1 = allouer un ClasseDérivéeDouble
Résultat1 = Objet1 est ClasseBase1 // Résultat1 contient "Vrai"
Résultat1 = Objet1 est ClasseBase2 // Résultat1 contient "Vrai"
Résultat1 = Objet1 est ClasseDérivée // Résultat1 contient "Faux"
Résultat1 = Objet1 est ClasseDérivéeDouble // Résultat1 contient "Vrai"
Remarque
La propriété
Classe permet de connaître le type réel de l'instance de classe manipulée par une variable de type objet, ou de type objet dynamique, ou de type variant.