Conception
1 - Structure d’une classe.
Classe : Définition
Une classe permet de définir un nouveau type, d’instancier des objets, d’appeler les services sur cet objet.
using System;
namespace demonstration
{
public class Exemple {
// les attributs - généralement private
private float x;
private int y;
// les méthodes
public float F1(int a, int b)
{
// ...........code de F1
}
public void p2( )
{
// ...........code de p2
}
}
}
Vocabulaire : attributs
les attributs sont les variables de la classe sauf s’ils sont publics, les attributs ne sont pas visibles depuis une autre classe (étrangère).
Vocabulaire : méthodes
Les méthodes sont les fonctions ou procédures de la classe. Elles aussi peuvent être publiques ou privées.
Vocabulaire : instance de classe
Une classe permet de définir un nouveau type, construire des objets (instancier).
On parle alors de services ou de variables d’instances
Vocabulaire : accès aux éléments de la classe (Public, Private)
Les modificateurs private et public se mettent devant un type (par exemple : une classe) ou un membre (par exemple : un champ ou une méthode).
private restreint l’accès de ce qui suit à l’usage exclusif dans le bloc où il a été déclaré.
public autorise quant à lui l’accès de ce qui suit depuis l’extérieur.
Vocabulaire : classe static
Lorsqu’une déclaration est précédée du mot clé static, cette information concerne la classe, tous les services définis dans la classe auront accès à cette information.
On parle alors de services ou de variables de classe
2 - Déclaration et instanciation d’un objet
Une classe C# peut être considérée comme un nouveau type dans le programme et donc des variables, d’objets, peuvent être déclarées selon ce nouveau “type”
using System;
namespace demonstration
{
class HelloWorld {
static void Main() {
Exemple ex1; // --déclaration d’un nouvel objet de type Exemple
ex1 = new Exemple();// --instanciation de cet objet
// --autre forme plus compacte
Exemple ex2 = new Exemple();
Exemple ex3 = new Exemple();
// ...
// il n’y a pas de limite au nombre d’objets que l’on peut créer
// --l’instanciation peu se faire avec des paramètres, selon la définition de la classe
Exemple ex4 = new Exemple(209,30);
}
}
Le type de la variable ex1 est Exemple : le type d’un objet est sa classe.
L’instanciation utilise l’opérateur new , qui permet de réserver une zone mémoire spécifique pour l’objet.
On dit que l’objet est instancié par l’opérateur new . Sans cette étape indispensable, l’objet déclaré ne peut pas être utilisé.
ne pas confondre instanciation et initialisation
Instancier, c’est, créer un nouvel objet (opérateur new )
Initialiser, c’est, donner une valeur initiale à quelque chose (opérateur = )
3 - Appeler une méthode
Appel d’une méthode
nomDeLaMéthode(paramètresSéparésParUneVirgule);
Dans notre exemple, nous souhaitons appeler les méthodes de la classe exemple :
using System;
namespace demonstration
{
class HelloWorld {
static void Main() {
Exemple ex1; // --déclaration d’un nouvel objet de type Exemple
ex1 = new Exemple();// --instanciation de cet objet
// --appel de la méthode p2
ex2.p2();
// --appel de la méthode F1
ex2.F1(20,30);
}
}