Aller au contenu

Gambas 3/Gambas3LeLangage/L'orienté objet avec Gambas/Comparaison de types

Un livre de Wikilivres.

Comparaison de types avec Gambas

[modifier | modifier le wikicode]

La comparaison de type se fait avec l'opérateur "Is". La comparaison se fait aussi sur les classes parente.

En protique, cela permet de savoir si un objet est d'un type donné et a fortiori d'une classe parente.

Voici un exemple avec ...

... la classe parente "Pomme"

' Gambas class file

' Pomme

... et la classe fille "PommeVerte" qui hérite de "Pomme"

' Gambas class file

' PommeVerte

Inherits Pomme

Voici deux façons de comparer les types des objets :

' Gambas module file

' Main

Public Sub Main()

  Dim p As New PommeVerte

  Print Object.Type(p) = "Pomme" ' <<-- Vérifie le type de la classe fille uniquement
  Print p Is Pomme               ' <<-- Vérifie le type (fille ou parent)

End

La sortie est :

False
True

Si vous concevez bien vos classes, vous n'aurez pas à comparer les types et votre application gagnera en performance.