Utilisation de la référence this
Bonjour !
Je m'excuse tout d'abord si un sujet de même type a déjà été ouvert, j'ai essayé de faire une recherche mais il n'y avait pas de réponse...
J'ai du mal à saisir toutes les utilisations de this, et comme je sais que c'est assez important, j'aimerais beaucoup un peu d'aide :D
Si je prends par exemple le programme suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| // ReferencingThisExplicitly ce programme montre
// comment utiliser explicitement la référence à this
using System;
namespace ReferencingThisExplicitly
{
public class Class1
{
public static int Main(string[] strings)
{
//crée un objet student
Student student = new Student();
student.Init("Stephen Davis", 1234);
//inscrit l'étudiant à un cours
Console.WriteLine
("Inscription de Stephen Davis à Biologie 101");
student.Enroll("Biologie 101");
//affichage des cours auxquels est inscrit l'étudiant
Console.WriteLine("Nouvelles caractéristiques de l'étudiant :");
student.DisplayCourse();
// attend confirmation de l'utilisateur
Console.WriteLine("Appuyez sur Entrée pour terminer...");
Console.Read();
return 0;
}
}
// Student - notre étudiant d'université
public class Student
{
//tout étudiant a un nom et un numéro d'identification (id)
public string sName;
public int nID;
//le cours auquel est inscrit l'étudiant
CourseInstance courseInstance;
// Init - initialise l'objet student
public void Init(string sName, int nID)
{
this.sName = sName;
this.nID = nID;
courseInstance = null;
}
// Enroll - inscrit l'étudiant courant à un cours
public void Enroll(string sCourseID)
{
courseInstance = new CourseInstance();
courseInstance.Init(this, sCourseID);
}
//affiche le nom de l'étudiant
//et le cours
public void DisplayCourse()
{
Console.WriteLine(sName);
courseInstance.Display();
}
}
// CourseInstance - associe l'étudiant au cours
// auquel il est inscrit
public class CourseInstance
{
public Student student;
public string sCourseID;
// Init -établit le lien entre l'étudiant et le cours
public void Init(Student student, string sCourseID)
{
this.student = student;
this.sCourseID = sCourseID;
}
// Display - affiche l'intitulé du cours
public void Display()
{
Console.WriteLine(sCourseID);
}
}
} |
Je crois avoir compris que this est utilisé pour pointer l'objet courant, mais ici on y fait appel plusieurs fois et je ne m'y retrouve pas...
Si quelqu'un a le courage de me donner une explication plus détaillée de ce programme, ça m'aiderait énormément !