Struct, Class, pour quelle organisation opter ?
Struct et Class sont deux type utilisable en C#. Le problème étant de savoir quand les utiliser… Selon moi, les classes sont des super-structures, nous allons voir comment utiliser les deux…
Type : CLASS
On peut ajouter une classe dans un projet par le biais du menu ‘fichier’ :
“Fichier” –> “Ajouter un nouvel element” –> “Classe” puis entrez votre nom de classe. Vous vous en doutez, “Ajouter un element existant” permet de réutiliser une classe déja faite.
L’IDE, aprés confirmation par l’utilisateur, crée un fichier .cs qui contient un code trés spartiate :
using System; namespace WindowsApplication2 { /// <summary> /// Description résumée de Class1. /// </summary> public class Class1 { public Class1() { // // TODO : ajoutez ici la logique du constructeur // } } }
A nous de le rendre plus efficace… La classe alors crée est une classe totalement Objet, on y ajoute des champs private, static, et/ou public (pas propre) et on i ajoute aussi des procédures/fonction.
Les champs :
Scope Type Nom ;
Exemples :
public string Login; static int NBThread; private bool IsEnabled;
Les fonctions/procédures :
Scope Type Nom { }
Exemples :
public string getLogin { return Login; }
Type : STRUCT
Les structures ne sont pas définies par l’IDE, elles sont définies par l’utilisateur comme :
public struct StructTest { //On définit ensuite les champs et les fonctions/procédures de la //même façon que pour les classes }
Conclusion
Les classes englobent les structures, d’un point de vue conception, les classes sont des parties intégrante du programme final, elle permétrons d’organiser au mieux la logique de votre programme.
Les structures quant à elles sont des moyen de faciliter la programmation des classes. Elles permettent, à mon point de vue, une meilleure “vision objet” de votre programme.
Quelques exemple avec mes projets actuels :
Pour mon projet de bot Ogame, j’ai organisé mon travail autour de la classe Form1 (autour de la classe graphique).
Voici le shéma :
- Form1.cs
- TraitementHautNiveau.cs
- TraitementParsing.cs (Classe Static)
- TraitementInternet.cs
- PaquetHTTP (Struct)
- ReponseHTTP (Struct)
- Connection (Struct)
- ListeAdresse (Struct)
- ListeGalaxie (Struct)
- ListePlanete (Struct)
- Vaisseau (Struct)
- ListeVaisseau (Struct)
- Threading.cs
One thought on “Struct, Class, pour quelle organisation opter ?”