[C#-Tutorial] C#-Eigenschaften (Eigenschaft)

黄舟
Freigeben: 2016-12-24 13:23:48
Original
1071 Leute haben es durchsucht

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;
   }
}
Nach dem Login kopieren

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();
       }
   }
}
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

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();
       }
   }
}
Nach dem Login kopieren

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
Nach dem Login kopieren
Nach dem Login kopieren

Das Obige ist [c#-Tutorial] C#-Eigenschaften ( Bitte beachten Sie die chinesische PHP-Website (www.php.cn), um weitere verwandte Inhalte zu erhalten!


Verwandte Etiketten:
c#
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage