Tutoriel C#SE CONNECTER
Tutoriel C#
auteur:php.cn  temps de mise à jour:2022-04-11 14:06:23

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 dans une classe ou 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 rendre les valeurs des champs privés​​lisibles, inscriptibles ou manipulables.

La propriété ne détermine pas l'emplacement de stockage. Au lieu de cela, ils ont des accesseurs qui peuvent lire, écrire ou 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

L'accesseur d'une

Property contient des éléments qui aident à obtenir (lire ou calculer) ou à définir (instruction exécutable pour l'écriture) des propriétés. 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 les 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 cela :

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 produit les résultats suivants :
Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10
<🎜>

Site Web PHP chinois