none
Instanciation d'un Form RRS feed

  • Question

  • Quelle(s) différence(s) y a-t-il entre les 2 déclarations suivantes :
    Je me rends bien compte à l'usage que c'est différent (la première déclaration ne donne pas accès aux composants du Form instancié), mais je ne comprends pas pourquoi. Merci si vous pouvez m'éclairer.

      Dim FSecondaire As Form = New FTest

      Dim FSecondaire As New FTest


     

    samedi 28 mars 2009 08:16

Réponses

  • Bonjour,

    dans votre première ligne, vous définisez la variable FSecondaire avec le type Form et même si vous l'instanciez avec la classe FTest, FSecondaire reste de type Form et par conséquent vous n'aurez accès qu'aux attributs et méthodes de la classe Form.
    Pour la seconde ligne, c'est différent, vous dites implicitement que la variable FSecondaire est de type FTest, et par conséquent vous aurez accès aux attributs et méthodes de la classe Form. Déclarer :

    Dim FSecondaire As New FTest

    est équivalent à  :

    Dim FSecondaire as FTest
    FSecondaire = New FTest

    En espérant avoir pu vous aider.

    Audrey - http://blogs.developpeur.org/audrey/
    mardi 31 mars 2009 09:10

Toutes les réponses

  • Bonjour,

    dans votre première ligne, vous définisez la variable FSecondaire avec le type Form et même si vous l'instanciez avec la classe FTest, FSecondaire reste de type Form et par conséquent vous n'aurez accès qu'aux attributs et méthodes de la classe Form.
    Pour la seconde ligne, c'est différent, vous dites implicitement que la variable FSecondaire est de type FTest, et par conséquent vous aurez accès aux attributs et méthodes de la classe Form. Déclarer :

    Dim FSecondaire As New FTest

    est équivalent à  :

    Dim FSecondaire as FTest
    FSecondaire = New FTest

    En espérant avoir pu vous aider.

    Audrey - http://blogs.developpeur.org/audrey/
    mardi 31 mars 2009 09:10
  • Grand merci à Audrey.


    Son explication me remet en mémoire que l'instanciation d'une classe dérivée sous une référence à sa classe mère ne donne accès qu'aux membres de la classe mère (sauf cas de la classe mère abstraite, mais ce n'est pas le cas de la classe Form).


    Encore merci

    phr

    mardi 31 mars 2009 12:27