namespace Enfer { class Verre { private int volume; public Verre(int vol) { volume = vol; } public void Remplit(int vol) { volume += vol; } public void Vide(int vol) { volume -= vol; } public int Volume { get { return volume; } } } class Monstre { /* Le code est limité à l'ajout de la méthode boit dans la version précédente Ici le lien d'association est faible et provisoire verre n'existe plus à la sortie de la méthode boit */ public void boit(int vol, Verre verre) { verre.Vide(vol); } } public class Program { public static void Main() { // Un vampire sert un verre de sang à Dracula Verre verreDeSang = new Verre(50); Console.WriteLine($"Le verre contient {verreDeSang.Volume}cl de sang"); Monstre dracula = new Monstre("Dracula", 10, 10, 200); dracula.Affiche(); // Dracula voit le verre et se déplace dracula.SeDeplace(20, 30); // mais reçoit un projectile dracula.EstTouche(6); dracula.Affiche("est touché"); // Toujours en vie il boit dracula.boit(10, verreDeSang); Console.WriteLine($"Il reste {verreDeSang.Volume}cl dans le verre de sang"); } } }