07 Le mot clé static
Attributs statiques
Schéma UML
Reprenons notre diagramme UML pour la classe Dinosaur, l'attribut specie
est désormais déclaré en statique.
Modification de notre classe
Il faut donc modifier notre classe C# pour utiliser l'attribut specie
en tant qu'attribut de classe et non plus en tant qu'attribut d'instance.
public class Dinosaur
{
protected string name;
protected static string specie;
protected int age;
public Dinosaur(string name, int age, string specie)
{
this.name = name;
this.age = age;
Dinosaur.specie = specie;
}
// Attention encore une fois la classe est ici tronquée, il faut donc bien modifier notre fichier source en remplaçant les occurences de this.specie par Dinosaur.specie
}
Utilisation de notre nouvelle classe
Une fois cela fait, dans le main de votre programme lancez les instructions suivantes:
Dinosaur henry = new Dinosaur("Henry", 11,"Diplodocus");
Console.WriteLine(henry.SayHello());
Dinosaur louis = new Dinosaur("Louis", 12, "Stegosaurus");
Console.WriteLine(louis.SayHello());
Console.WriteLine(henry.SayHello());
- Constatez vous un problème ?
- Quel est son origine ?
Nous verrons dans le prochain TP comment corriger ce problème.
Méthodes statiques
Vous devriez maintenant vous en être aperçu, nous avons utiliser des méthodes statiques depuis le début de ce module sans même le savoir.
Dans cette partie, il vous est demandé de créer une classe Laboratoire qui permet de créer des dinosaures à la demande.
Schéma UML
Voici le diagramme UML pour la classe Laboratoire
Implémentation, Test unitaires et utilisation
- Créez le(s) test(s) unitaire(s) pour valider le fonctionnement de notre classe laboratoire;
- Implémentez celle-ci (pensez au namespace, etc.);
- Utilisez la classe laboratoire au sein de notre programme pour créer quelques dinosaures.