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

C# Discussion :

Les classes en C#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Par défaut Les classes en C#
    Bonjour à tous.
    J'ai 74 ans et j'essaie avec plus ou moins de réussite d'apprendre le C#.
    Ma question est la suivante, dans le tutoriel Apprentissage du langage C# que j'étudie sur Developpez.com.
    Au chapitre des objets temporaires, il y a cette déclaration
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    new Personne(new Personne("Jean", "Dupont", 30)).Identifie();
    le Identifie je l'ai bien compris c'est un appel à une fonction qui s'appelle Identifie
    new Personne est la création d'un nouvel objet de la classe Personne.
    Mais c'est sur new Personne(new Personne("Jean", "Dupont", 30)) que je bute.
    Est-ce qu'une âme charitable pourrait m'expliquer ce que cela signifie, de façon pas trop compliquée s'il vous plait.
    Merci à l'avance.
    Papyclaude

    PS: je viens corriger quelques fautes d'orthographe, mais soyez indulgent si vous en trouvez d'autre.

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    bonsoir Papy en C# (comme en Java d'ailleurs) on ne manipule que des classes d'objets.
    Donc il faut obligatoirement utiliser le mot clé new pour créer /instancier un objet.

    Pour faire une forme d'analogie c'est comme un moule à gaufre et la pâte.
    La classe étant le moule et les éléments de la classe la pâte elle-même..

    ou bien comme en mathématiques il y a des ensembles et des nombres inscrits dans les ensembles.

    "jean" "Dupont" ce sont des paramètres pour initialiser une instance de classe.
    Si la classe n'est pas instanciée il y aura une exception.

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Par défaut
    D'accord , mais c'est le" new Personne(new Personne " que je ne comprend pas , sachant que Personne est le nom de la Class.
    En tout cas merci d'avoir répondu Mat.M
    Cordialement.
    Papyclaude

  4. #4
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    Citation Envoyé par Papyclaude51 Voir le message
    D'accord , mais c'est le" new Personne(new Personne " que je ne comprend pas , sachant que Personne est le nom de la Class.
    ce qu'il y a c'est qu'on a deux instanciations de classe Personne.
    Mais ce n'est pas vraiment utile un seul new suffit je pense que l'auteur du tuto fait deux new dans un but pédagogique.
    La voie normale pour instancier une classe c'est par exemple Personne UnePersonne=new Personne() ;UnePersonne.methode();
    Mais puisque c'est une allocation temporaire il n'y pas besoin de déclarer de variable UnePersonne de type Personne

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    retraité
    Inscrit en
    Janvier 2015
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 77
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Janvier 2015
    Messages : 5
    Par défaut
    Citation Envoyé par Mat.M Voir le message
    ce qu'il y a c'est qu'on a deux instanciations de classe Personne.
    Mais ce n'est pas vraiment utile un seul new suffit je pense que l'auteur du tuto fait deux new dans un but pédagogique.
    La voie normale pour instancier une classe c'est par exemple Personne UnePersonne=new Personne() ;UnePersonne.methode();
    Mais puisque c'est une allocation temporaire il n'y pas besoin de déclarer de variable UnePersonne de type Personne
    Merci pour cette réponse Mat.
    En fait je pense avoir compris cette nuit.
    Il fait 3 choses en même temps .

    Dans new Personne(new Personne("Jean", "Dupont", 30)).Identifie();
    Il crée une nouvelle instance de Personne , dans la foulée , il l'initialise puis la transmet a la fonction Identifie.
    Il me faut un peu de temps pour comprendre les choses.
    A mon age , les neurones ne sont plus aussi rapides qu'a 20 ou 30 ans.
    Cordialement
    PapyClaude

  6. #6
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 532
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 532
    Par défaut
    bonjour oui c'est une création dans la foulée.
    Dans le corps d'une méthode on déclare généralement une variable instanciée par la suite.
    La création sur le tas c'est utile pour instancier une classe qui va être utilisée temporairement avec une courte durée.

    Sinon pour apprendre je conseille plutôt de fonctionner en mode projet

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

Discussions similaires

  1. [Taglibs] Utiliser les classes css ?
    Par PeteMitchell dans le forum Struts 1
    Réponses: 4
    Dernier message: 05/05/2007, 01h31
  2. Réponses: 31
    Dernier message: 30/03/2006, 16h57
  3. Les classes ne s'affichent pas
    Par karl3i dans le forum MFC
    Réponses: 8
    Dernier message: 26/01/2004, 14h52
  4. delocaliser les classe
    Par otb82 dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 17/11/2003, 08h54
  5. Les classes amies en Delphi
    Par Bruno75 dans le forum Langage
    Réponses: 3
    Dernier message: 02/09/2003, 19h34

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