Propriétés C#
Les propriétés sont nommées membres de classes, de structures et d'interfaces. Les variables ou méthodes membres d’une classe ou d’une structure sont appelées champs. Les propriétés sont des extensions des champs et sont accessibles en utilisant la même syntaxe. Ils utilisent des accesseurs pour permettre la lecture, l'écriture ou la manipulation des valeurs de champs privés.
La propriété ne détermine pas l'emplacement de stockage. Au lieu de cela, ils disposent d’accesseurs capables de lire, d’écrire ou de calculer leurs valeurs.
Par exemple, il existe une classe appelée Étudiant avec des champs privés pour l'âge, le nom et le code. Nous ne pouvons pas accéder directement à ces champs en dehors de la portée de la classe, mais nous pouvons avoir des propriétés qui accèdent à ces champs privés.
Accesseurs
Les accesseurs d'une propriété contiennent des instructions exécutables qui aident à obtenir (lire ou calculer) ou à définir (écrire) la propriété. Une déclaration d'accesseur peut contenir un accesseur get, un accesseur set, ou les deux. Par exemple :
// 声明类型为 string 的 Code 属性 public string Code { get { return code; } set { code = value; } } // 声明类型为 string 的 Name 属性 public string Name { get { return name; } set { name = value; } } // 声明类型为 int 的 Age 属性 public int Age { get { return age; } set { age = value; } }
Exemple
L'exemple suivant démontre l'utilisation des propriétés :
using System; namespace tutorialspoint { class Student { private string code = "N.A"; private string name = "not known"; private int age = 0; // 声明类型为 string 的 Code 属性 public string Code { get { return code; } set { code = value; } } // 声明类型为 string 的 Name 属性 public string Name { get { return name; } set { name = value; } } // 声明类型为 int 的 Age 属性 public int Age { get { return age; } set { age = value; } } public override string ToString() { return "Code = " + Code +", Name = " + Name + ", Age = " + Age; } } class ExampleDemo { public static void Main() { // 创建一个新的 Student 对象 Student s = new Student(); // 设置 student 的 code、name 和 age s.Code = "001"; s.Name = "Zara"; s.Age = 9; Console.WriteLine("Student Info: {0}", s); // 增加年龄 s.Age += 1; Console.WriteLine("Student Info: {0}", s); Console.ReadKey(); } } }
Lorsque le code ci-dessus est compilé et exécuté, il produira le résultats suivants :
Student Info: Code = 001, Name = Zara, Age = 9 Student Info: Code = 001, Name = Zara, Age = 10
Propriétés abstraites
Les classes abstraites peuvent avoir des propriétés abstraites, qui doivent être implémentées dans les classes dérivées. Le programme suivant illustre ceci :
using System; namespace tutorialspoint { public abstract class Person { public abstract string Name { get; set; } public abstract int Age { get; set; } } class Student : Person { private string code = "N.A"; private string name = "N.A"; private int age = 0; // 声明类型为 string 的 Code 属性 public string Code { get { return code; } set { code = value; } } // 声明类型为 string 的 Name 属性 public override string Name { get { return name; } set { name = value; } } // 声明类型为 int 的 Age 属性 public override int Age { get { return age; } set { age = value; } } public override string ToString() { return "Code = " + Code +", Name = " + Name + ", Age = " + Age; } } class ExampleDemo { public static void Main() { // 创建一个新的 Student 对象 Student s = new Student(); // 设置 student 的 code、name 和 age s.Code = "001"; s.Name = "Zara"; s.Age = 9; Console.WriteLine("Student Info:- {0}", s); // 增加年龄 s.Age += 1; Console.WriteLine("Student Info:- {0}", s); Console.ReadKey(); } } }
Lorsque le code ci-dessus est compilé et exécuté, il produira les résultats suivants :
Student Info: Code = 001, Name = Zara, Age = 9 Student Info: Code = 001, Name = Zara, Age = 10
Ce qui précède est [tutoriel c#] Propriétés C# ( Property), veuillez faire attention au site Web PHP chinois (www.php.cn) pour plus de contenu connexe !