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 :

[C#] Question de conception


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Points : 80
    Points
    80
    Par défaut [C#/C++] Quelques questions de conception ?
    Bonjour a tous !!

    Je suis en train de découvrir le c#. Je trouve ce langage vraiment intéressant mais j'ai une question de conception. Quel est l'équivalent en C# des fichiers .h et .cpp du C++ ? Dans les exemples que j'ai vu sur ce site, les méthodes sont toutes définies dans la déclaration de la classe...

    D'autre part, quel est la différence entre C++/CLI et le C# ? En analysant le C++/CLI, j'ai l'impression de retrouver beaucoup de choses similaires comme System.Console.WriteLine.

    Merci d'avance pour vos explications !

  2. #2
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 171
    Points : 122
    Points
    122
    Par défaut
    Coucou,

    Les fichiers C# sont des *.cs.
    Il n'y a pas de fichiers header.
    Aussi, en C#, tu ne definis pas les fonctions/members d'une classe dans un header. Il suffit qu'ils soient "public" ou "protected" pour que tu puisses le voir d'une autre classe.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Points : 80
    Points
    80
    Par défaut
    ok donc lorsque l'on concoit un projet important en C#, on définit malgré tout les méthode dans la déclaration de la classe (fichier .cs) ?

    Merci pour la réponse !

  4. #4
    Membre confirmé

    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    481
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2006
    Messages : 481
    Points : 616
    Points
    616
    Par défaut
    Bonjour,
    En c#, tu n'as pas la notion de Header comme en C ou C++. Il suffit de coder dans le fichier .cs.
    Donc, tu dois déclares tes méthodes au moment ou tu les codes.
    Apres tu as la notion de public, protected ou private qui te permet d"acceder à tes methodes à partir des tes classes (comme en c++)
    Enfin tu as la notion de namespace qui te permets de "séparer" tes projets (ensemble de classe)

    En revanche en c# tu as des modelisations qui permettent une ecriture et une compréhension plus aisée des codes. Regarde la notions N-TIERS (meme si je pense qu'en C++ ca existe deja)

    J'espere avoir répondu a ta question.

    Bonne continuation
    Je pense volontiers à penser aux choses auxquelles je pense que les autres ne penseront pas

  5. #5
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Les headers de C++ permettent de coder et de compiler une partie du code alors qu'une autre n'est pas encore implémentée (avec "extern").
    Ca permet pas de tester, mais au moins ca compile.

    En C#, pour ce faire, on peut utiliser les interfaces, qui permettent de définir une "signature" commune a un ensemble de classes, quel que soit leur Type final. On peut utiliser ces interface comme n'importe quel type (sauf que le 'new' est interdit. On doit passer par un cast implicit ou explicit pour récupérer une instance d'une interface)

    Personnellement, pour voir codé sur des projets de taille moyenne, la première chose qu'on faisait après avoir fait al conception, c'est toutes les interfaces, pour pouvoir bosser sans attendre que machin ait fini la classe Bidule dont tout le monde a besoin. Après, on faisait une classe de test qui implémente cette interface, pour tester notre code en attendant la version définitive.

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    382
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 382
    Points : 80
    Points
    80
    Par défaut
    Merci beaucoup pour ces explications claires.

    Je vais étudier ca.

    Merci encore !

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

Discussions similaires

  1. [WIN32] question de conception
    Par gdpasmini dans le forum MFC
    Réponses: 4
    Dernier message: 10/07/2006, 11h08
  2. [Data-sources] Questions de conception
    Par xfacq dans le forum Général Java
    Réponses: 1
    Dernier message: 02/06/2006, 01h32
  3. [VB.net] Question sur conception
    Par arno2000 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/04/2006, 08h35
  4. [XML]Question de conception
    Par nana1 dans le forum Persistance des données
    Réponses: 17
    Dernier message: 17/11/2005, 09h34
  5. [Strategie][GUI]Petite question de conception
    Par bischof dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 26/10/2004, 22h31

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