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

Collection et Stream Java Discussion :

Tableau mélangé entre objets et objets hérités


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné

    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2007
    Messages
    214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2007
    Messages : 214
    Par défaut Tableau mélangé entre objets et objets hérités
    Bonjour

    J’ai un peu du mal avec le mélange d’objet différent dans le même tableau : je considère A une classe, B1 et B2 deux classes qui héritent de A, C une classe qui hérite de B1. Si je déclare un tableau de A, alors ce tableau peut contenir indifféremment des objets A, B1, B2 ou C, c’est bien ca ?

    Ca me parait étrange a deux points de vu :

    1/ On se retrouve avec un tableau qui contient deux types différents
    2/ Au niveau de la mémoire, on "prépare" la mémoire pour des objets de taille A, et on y place des objets de taille B1, B2 ou C, objet qui sont potentiellement plus gros que A.

    Christophe

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 209
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 209
    Billets dans le blog
    52
    Par défaut
    1/ On se retrouve avec un tableau qui contient deux types différents
    Oui et non. Surtout non. On se retrouve au final avec un tableau de A et uniquement de A.

    Si tu prend dans le rôle de la classe :
    A => Chat
    B1 => ChatBlanc
    B2 => ChatNoir
    C => ChatBlancALongPoile

    Au final ton tableau se retrouve avec uniquement des "Chat".

    2/ Au niveau de la mémoire, on "prépare" la mémoire pour des objets de taille A, et on y place des objets de taille B1, B2 ou C, objet qui sont potentiellement plus gros que A.
    C'est là que les références font la différences.

    Un tableau d'objet en Java est un tableau de référence. C'est un pointeur qui indique où est l'objet. Le tableau de contient donc pas réellement les objets, mais juste les références qui sont de taille fixe. Les objets sont stocké en mémoire à coté.
    Pour ce qui est de la question de la taille d'un objet de la classe A. Il ne faut pas oublié que cela peux grandement varié d'une instance à l'autre. Par exemple, une instance d'Image.

    Cordialement,
    Patrick Kolodziejczyk.

    source :
    http://fr.wikiversity.org/wiki/Java/Tableaux
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/08/2010, 17h23
  2. Collision entre souris et objet
    Par youp_db dans le forum SDL
    Réponses: 8
    Dernier message: 26/07/2006, 13h15
  3. [VB.NET] PB avec lien entre propriété d'objet et TextBox
    Par apoingsfermes dans le forum Windows Forms
    Réponses: 1
    Dernier message: 19/07/2006, 11h01
  4. Réponses: 3
    Dernier message: 07/07/2006, 18h00
  5. choix entre dbexpress et objet interbase
    Par hani dans le forum Bases de données
    Réponses: 5
    Dernier message: 18/11/2004, 23h09

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