IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB 6 et antérieur Discussion :

heritage et attributs


Sujet :

VB 6 et antérieur

  1. #1
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    726
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 726
    Points : 266
    Points
    266
    Par défaut heritage et attributs
    Je vais essayer d'exposer mon cas clairement:

    Je programme une application avec des jeux de 32 ou 54 cartes.
    J'ai donc crée une classe Carte (jusque là pas de problème) puis une classe JeuDeCarte (qui contient un attribut qui n'est autre qu'une liste de cartes).
    Ce jeu pouvant être de 32 ou de 54 cartes je me suis dit que ce serait pas mal de créer des classes héritées.
    Premier problème: comment spécifier que ma classe "JeuDeCartes" est abstraite?
    Ensuite lorsque je construis mon jeu de carte (à partir de la classe héritée "JeuDeCartes_32") et que j'essaye d'appliquer une méthode dessus de la classe "JeuDeCartes", mon objet "listeDeCartes" a tout bonnement disparu.J'ai le message d'erreur: "La référence d'objet n'est pas définie à une instance d'un objet.".
    Pour l'instant j'ai fais de l'objet uniquement en java et il n'y avait pas ce genre de problème ...

    Quand on appelle une méthode de la classe supérieure sur un attribut de la couche inférieure ne devrait-elle pas s'appliquer sur cet attribut?

    voici mon code simplifié:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
     
    public class JeuDeCartes
     
    public listeDeCartes(0)  as Carte 'liste de cartes déclarée à 0 éléments
     
    public sub maMethode()  'dans laquelle j'appelle la liste de cartes
     
    end class
     
    public class JeuDeCartes_32
     
    Sub New()
     
      ReDim Me.listeDeCartes(32) 'je redimensionne ma liste de cartes pour un jeu de 32 cartes
     
    ... ensuite j'instancie chacune des cartes de ma liste de cartes -> pas de problème
     
    end sub
     
    end class
    ensuite dans mon main:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    Dim jeu32 as JeuDeCartes_32
    jeu32 = new JeuDeCartes_32
     
    jeu32.maMethode()  <- problème la liste de cartes n'existe plus ...
    merci de m'éclairer sur l'héritage et cie en visual basic

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Points : 1 418
    Points
    1 418
    Par défaut
    c'est du dotnet

Discussions similaires

  1. Réponses: 12
    Dernier message: 20/05/2009, 16h32
  2. [Heritage] redéclaration d'attributs
    Par lando dans le forum Langage
    Réponses: 5
    Dernier message: 23/11/2006, 18h43
  3. [Access] select heritage selon attribut
    Par Bapt.ice dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/04/2006, 17h25
  4. Réponses: 7
    Dernier message: 18/10/2005, 13h50
  5. [POO] Heritage d'attribut statique surchargé !
    Par Jaxofun dans le forum Langage
    Réponses: 25
    Dernier message: 16/08/2005, 10h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo