C#-Eigenschaften
Eigenschaften sind benannte Mitglieder von Klassen, Strukturen und Schnittstellen. Mitgliedsvariablen oder Methoden in einer Klasse oder Struktur werden als Felder bezeichnet. Eigenschaften sind Erweiterungen von Feldern und können mit derselben Syntax aufgerufen werden. Sie verwenden Accessoren, um das Lesen, Schreiben oder Bearbeiten privater Feldwerte zu ermöglichen.
Die Eigenschaft legt den Speicherort nicht fest. Stattdessen verfügen sie über Accessoren, die ihre Werte lesen, schreiben oder berechnen können.
Zum Beispiel gibt es eine Klasse namens Student mit privaten Feldern für Alter, Name und Code. Wir können außerhalb des Klassenbereichs nicht direkt auf diese Felder zugreifen, aber wir können Eigenschaften haben, die auf diese privaten Felder zugreifen.
Accessoren
Accessoren für eine Eigenschaft enthalten ausführbare Anweisungen, die dabei helfen, die Eigenschaft abzurufen (lesen oder berechnen) oder festzulegen (schreiben). Eine Accessor-Deklaration kann einen Get-Accessor, einen Set-Accessor oder beides enthalten. Zum Beispiel:
// 声明类型为 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; } }
Beispiel
Das folgende Beispiel demonstriert die Verwendung von Eigenschaften:
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(); } } }
Wenn der obige Code kompiliert und ausgeführt wird, wird er erzeugt Folgende Ergebnisse:
Student Info: Code = 001, Name = Zara, Age = 9 Student Info: Code = 001, Name = Zara, Age = 10
Abstrakte Eigenschaften
Abstrakte Klassen können abstrakte Eigenschaften haben, die in abgeleiteten Klassen implementiert werden sollten. Das folgende Programm veranschaulicht dies:
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(); } } }
Wenn der obige Code kompiliert und ausgeführt wird, werden die folgenden Ergebnisse erzeugt:
Student Info: Code = 001, Name = Zara, Age = 9 Student Info: Code = 001, Name = Zara, Age = 10
Das Obige ist [c#-Tutorial] C#-Eigenschaften ( Bitte beachten Sie die chinesische PHP-Website (www.php.cn), um weitere verwandte Inhalte zu erhalten!