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 :

question debutant !? (et peut etre debile )


Sujet :

C#

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 44
    Points
    44
    Par défaut question debutant !? (et peut etre debile )
    Bonjour,

    Je veux prototyper mes methodes dans ma classe puis les remplirs dans un autre fichier. En faite comme en C++:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    namespace toto
    {
      class plop
       {
          void Oo(); 
       }
    }
    void toto::plop::Oo(){
    blalbla
    }

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 380
    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 380
    Points : 20 448
    Points
    20 448
    Par défaut
    A ma connaissance cela n'existe pas en C#; il faut utiliser l'héritage de classe

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    A mon avis, ce n'est pas possible.

    Tu peux par contre dispatcher le code source d'une même classe dans plusieurs fichiers en déclarant la classe partial (public partial class Plop) dans les deux fichiers.

    Tu peux également prototyper tes méthodes dans une interface, ta classe implémentant finalement cette interface. Classe et interfaces peuvent être dans deux fichiers différents.

  4. #4
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    La séparation comme en c++ entre le .h et le .cpp n'existe pas en c#.
    On implémente les méthodes directement là où elles sont déclarées.

    En revanche, dans le cas où on ne sait pas à l'avance qu'elle va être le code d'une méthode, on a plusieurs(+) solutions :
    • déclarer la méthode abstract, puis un descendant devra l'implémenter
    • déclarer la méthode virtual et sans code, un descendant pourra l'implémenter
    • déclarer un event (dont le prototype est déclaré sous la forme d'un delegate)

    Les mots clés sur lesquels faire des recherches sont en gras.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 44
    Points
    44
    Par défaut
    ok beh merci , c'est vraiment domage car je trouve le code plus propre !

    Une autre petite question j'ai l'impression que les templates n'existent pas C#?

  6. #6
    Membre éprouvé
    Avatar de neilbgr
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2004
    Messages
    651
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 651
    Points : 1 177
    Points
    1 177
    Par défaut
    Citation Envoyé par Marsiou Voir le message
    ok beh merci , c'est vraiment domage car je trouve le code plus propre !
    C'est une affaire de goût...

    Dans la pratique, un bon éditeur de code saura donner la possibilité de "plier" le code (code folding en anglais me semble-t-il), et ainsi, par exemple, avec SharpDevelop, CTRL+SHIFT+P n'affichera que les prototypes.

    Concernant les templates, il faut faire la part des choses entre les réflexes qu'on a venant d'un langage/environnement X (pour ma part, venant de Delphi 6, j'ai dû désapprendre certaines choses et en revanche j'ai pu appliquer des principes de la POO beaucoup plus facilement), et ce qu'apporte le nouveau langage/environnement qu'on apprend.
    En somme, toujours se poser la question: est-ce qu'il y a pas un moyen plus simple de la faire ?

    Pour tout dire sur les templates, n'ayant pas eut cette possibilité en Delphi 6, cela ne m'a jamais manquer en c#...

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Points : 1 521
    Points
    1 521
    Par défaut
    Les templates se nomment génériques en C# (enfin je crois, c'est loin le C++).

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 44
    Points
    44
    Par défaut
    En somme, toujours se poser la question: est-ce qu'il y a pas un moyen plus simple de la faire ?
    faire que des fonctions 'generique'

    Je suis d'accord avec toi mais certaine methode sont comme meme tres pratiques.

  9. #9
    Membre du Club Avatar de clodo13
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    en c# tu peux utiliser les partial class pour séparer ton code.
    Tu crée deux class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    partial class c1{
     
    }
    partial class c2{
     
    }
    quand tu compile tu obtiens une classe qui englobe les deux!

    http://msdn2.microsoft.com/fr-fr/lib...88(VS.80).aspx


  10. #10
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par clodo13 Voir le message
    en c# tu peux utiliser les partial class pour séparer ton code.
    Tu crée deux class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    partial class c1{
     
    }
    partial class c2{
     
    }
    quand tu compile tu obtiens une classe qui englobe les deux!

    http://msdn2.microsoft.com/fr-fr/lib...88(VS.80).aspx
    Non, dans ton exemple tu auras deux classes différentes c1 et c2.

  11. #11
    Membre du Club Avatar de clodo13
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    67
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 67
    Points : 58
    Points
    58
    Par défaut
    il faut leurs donner le meme nom c1 et c1

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 03/09/2009, 13h35
  2. Réponses: 2
    Dernier message: 25/05/2006, 19h47
  3. [langage] Question débutant compilation PERL
    Par sebbyoguard dans le forum Langage
    Réponses: 5
    Dernier message: 04/09/2004, 19h39
  4. Réponses: 3
    Dernier message: 02/07/2004, 13h53

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