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

avec Java Discussion :

Objet/Classe la difference


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 12
    Points
    12
    Par défaut Objet/Classe la difference
    salut ,


    voila je debute en JAva et il y a une chose qui me turlupine.Je n'arrive pas à faire vraiment la difference entre un objet et une classe.Je sais que la classe est une sorte de moule qui sert pour construire un objet mais je ne saisi pas concrètement la difference.


    Merci à tous ceux qui aurront la patience et la gentillesse de me repondre.

  2. #2
    Nouveau Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Citation Envoyé par bouba69 Voir le message
    salut ,


    voila je debute en JAva et il y a une chose qui me turlupine.Je n'arrive pas à faire vraiment la difference entre un objet et une classe.Je sais que la classe est une sorte de moule qui sert pour construire un objet mais je ne saisi pas concrètement la difference.


    Merci à tous ceux qui aurront la patience et la gentillesse de me repondre.
    Salut Bouba!

    Pour répondre à ta question, on ne peut pas parler de différence puisqu'un objet est une instance d'une classe qui se fait grace à "new".
    class Personne{
    int age;

    }

    L'instanciation de cette classe (rudimentaire et actuellement inutile...) se fait de la façon suivante :

    Personne P = new Personne();

    l'objet dans cet exemple est "P".



  3. #3
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Une image simple...

    Une classe est une sorte de moule à gâteaux.
    Un objet est un gâteau que tu ferais à partir de ce moule.

    Un objet est, comme précisé plus haut, l'instance d'une classe.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  4. #4
    Membre chevronné
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Points : 2 197
    Points
    2 197
    Par défaut
    Personnellement je trouve que le moule et le gâteau ne sont pas vraiment de bons exemples, on pourrait les considérer comme des classes différentes.

    Autre exemple :
    La peugeot 205 est une classe, chaque exemplaire est une instance de cette classe.

  5. #5
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Hum c'est vrai, on peut faire différents types de gâteaux dans un moule...

    Va pour la peugeot
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Sinon, il y a la version :

    Une classe est une recette de gâteau
    L'objet étant UNE réalisation de cette recette

    (et l'indigestion est une Exception )
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 12
    Points
    12
    Par défaut
    merci pour toutes vos reponses qui m'on aidé , je commence à comprendre.Mais j'ai encore des doutes, si je puis m'exprimer ainsi.Voila, un objet est construit a partir d'une classe qui elle contient des methodes et des attributs,la classe sert en quelque sorte de model qui servira à l'objet.mais je ne vois pas comment l'objet se materialise.On crée une classe avec des methodes et des attributs et ensuite................


    merci d'avance.

  8. #8
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Soit un constructeur Avion (donc dans la classe Avion)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      	public Avion(String marque, int capaciteDePersonnes, int masseAVide,
                int capaciteDeChargement, int consommationEnVol,
                int altitudeMaximale, int volumeDuReservoir)
    	{
            this.marque = marque;
            this.capaciteDePersonnes = capaciteDePersonnes;
            this.masseAVide = masseAVide;
            this.capaciteDeChargement = capaciteDeChargement;
            this.consommationEnVol = consommationEnVol;
            this.altitudeMaximale = altitudeMaximale;
            this.volumeDuReservoir = volumeDuReservoir;
    	}
    Dans ton main, tu auras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     //Création d'un avion
    Avion a1 = new Avion("Airbus A340-300", 295, 129300, 55600, 10000, 13000, 140640);
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2007
    Messages : 61
    Points : 12
    Points
    12
    Par défaut
    Citation Envoyé par Deallyra Voir le message
    Soit un constructeur Avion (donc dans la classe Avion)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
      	public Avion(String marque, int capaciteDePersonnes, int masseAVide,
                int capaciteDeChargement, int consommationEnVol,
                int altitudeMaximale, int volumeDuReservoir)
    	{
            this.marque = marque;
            this.capaciteDePersonnes = capaciteDePersonnes;
            this.masseAVide = masseAVide;
            this.capaciteDeChargement = capaciteDeChargement;
            this.consommationEnVol = consommationEnVol;
            this.altitudeMaximale = altitudeMaximale;
            this.volumeDuReservoir = volumeDuReservoir;
    	}
    Dans ton main, tu auras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     //Création d'un avion
    Avion a1 = new Avion("Airbus A340-300", 295, 129300, 55600, 10000, 13000, 140640);
    a1 est le nom de l'objet et Avion est le nom de classe donc son type.?
    Pourquoi il n'y a pas de public devant le nom de la classe et à quoi sert le mot clé this.



    merci d'avance.

  10. #10
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    a1 est le nom de l'objet et Avion est le nom de classe donc son type.?
    Pourquoi il n'y a pas de public devant le nom de la classe et à quoi sert le mot clé this.
    a1 est le nom de l'objet.

    C'est un nouvel objet (new) instancié à partir de la Classe Avion.

    this renvoie à l'objet lui même.

    ce sont SES attributs ou méthodes qui sont pointées par this. Il est optionnel mais si tu l'enlèves dans mon exemple, tu auras :
    Ce qui n'est pas très explicite

    Sinon tu peux renommer le paramètre passé à la méthode.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

  11. #11
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    pour faire simple:

    la classe regroupe:

    1) les données statiques (partagées entre toutes les instances)
    2) le code des méthodes (qu'elle soient statiques ou non)

    Une instance est ensuite formée de
    A) une référence à la classe
    B) les valeurs des champs d'instances (données non statiques).

    Donc pour reprendre l'exemple de Deallyra qui aime jouer avec des avions, si t'as 5 avions en mémoire tu auras en mémoire:


    1 seul et unique exemplaire de "1" et "2" (class Avion)
    5 objet ayant chacun leur copie des données A et B (avion1, avion2, avion3, avion4 et avion5 par exemple)



    (parce que l'exemple du moule à gateau est bien, mais il tiens pas compte de ce lien qui existera toujours entre le gateau est son moule )

  12. #12
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Citation Envoyé par Deallyra Voir le message
    ce sont SES attributs ou méthodes qui sont pointées par this. Il est optionnel mais si tu l'enlèves dans mon exemple, tu auras :
    Ce qui n'est pas très explicite
    Pas très explicite ? c'est surtout complètement différent

    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
    22
    23
    24
    25
    26
    27
    28
    public class Avion {
     
       private int marque; // un champ
     
       public void function1() {
          this.marque = 0;
          // on note explicitement qu'il s'agit du champ de la classe
          // "this" représente l'instance à laquelle on applique la méthode function1
       }
     
       public void function2() {
          marque = 0;
          // ici "marque" ne peut désigner que le champ de la classe
          // => équivalent à function1
       }
     
       public void function3(int marque) {
          this.marque = marque;
          // on a deux variables qui s'appellent "marque" : le champ de la classe et la variable locale utilisée en paramètre
          // "marque" tout court désigne alors la variable locale, et "this.marque" désigne explicitement le champ de la classe
       }
     
       public void function4(int marque) {
          marque = marque;
          // "marque" tout court désigne toujours la variable locale, donc cette instruction ne fait rien (on assigne juste à la variable locale sa propre valeur...)
          // => pas du tout équivalent à function3 !
       }
    }

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/06/2007, 13h33
  2. Utilisation objet Class
    Par burhud dans le forum Langage
    Réponses: 9
    Dernier message: 31/10/2006, 14h38
  3. Obtenir un objet classe
    Par sheura dans le forum Langage
    Réponses: 5
    Dernier message: 29/09/2006, 14h59
  4. [POO] Objet classe PHP5
    Par theskel dans le forum Langage
    Réponses: 1
    Dernier message: 08/08/2006, 10h49
  5. Objets/Classes avec un SGBD
    Par tiboleo dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 09/11/2003, 16h04

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