Tuesday, June 28, 2016

Thuộc tính (Property) trong C#

Thuộc tính (Property) trong C#
Thuộc tính (Property) trong C#

Thuộc tính - Property là các thành viên được đặt tên của các lớp, cấu trúc, và Interface. Các biến thành viên hoặc các phương thức trong một lớp hoặc cấu trúc được gọi là các Field. Thuộc tính là một sự kế thừa của các Field và được truy cập bởi sử dụng cùng cú pháp. Chúng sử dụng accessor thông qua các giá trị của các Private Field có thể được đọc, được viết và được thao tác.
Thuộc tính (Property) không đặt tên các vị trí lưu giữ. Thay vào đó, chúng có accessors mà đọc, ghi hoặc tính toán các giá trị của chúng.
Ví dụ, chúng ta có một lớp với tên Student, với các Private Field cho age, name, và code. Chúng ta không thể trực tiếp truy cập các Field này từ bên ngoài phạm vi lớp đó, nhưng chúng ta có thể có các thuộc tính để truy cập các Private Field này.

Accessor trong C#

Trong C#, accessor là một thuộc tính chứa các lệnh có thể thực thi, mà giúp đỡ trong việclấy (đọc hoặc tính toán) hoặc thiết lập (ghi) thuộc tính. Các khai báo accessor có thể thu được một get accessor, một set accessor, hoặc cả hai. Ví dụ:
// Declare a Code property of type string:
public string Code
{
   get
   {
      return code;
   }
   set
   {
      code = value;
   }
}

// Declare a Name property of type string:
public string Name
{
   get
   {
      return name;
   }
   set
   {
      name = value;
   }
}

// Declare a Age property of type int:
public int Age
{ 
   get
   {
      return age;
   }
   set
   {
      age = value;
   }
}

Ví dụ

Ví dụ dưới đây minh họa cách sử dụng của các thuộc tính trong C#:
using System;
namespace tutorialspoint
{
   class Student
   {
      private string code = "N.A";
      private string name = "not known";
      private int age = 0;
      
      // Declare a Code property of type string:
      public string Code
      {
         get
         {
            return code;
         }
         set
         {
            code = value;
         }
      }
      
      // Declare a Name property of type string:
      public string Name
      {
         get
         {
            return name;
         }
         set
         {
            name = value;
         }
      }
      
      // Declare a Age property of type int:
      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()
      {
      
         // Create a new Student object:
         Student s = new Student();
         
         // Setting code, name and the age of the student
         s.Code = "001";
         s.Name = "Zara";
         s.Age = 9;
         Console.WriteLine("Student Info: {0}", s);
         
         //let us increase age
         s.Age += 1;
         Console.WriteLine("Student Info: {0}", s);
         Console.ReadKey();
      }
   }
}
Khi code trên được biên dịch và thực thi, nó sẽ cho kết quả:
Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10

Thuộc tính trừu tượng trong C#

Một lớp Abstract có thể có một thuộc tính abstract, mà nên được triển khai trong lớp kế thừa. Chương trình sau minh họa điều này:
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;
      
      // Declare a Code property of type string:
      public string Code
      {
         get
         {
            return code;
         }
         set
         {
            code = value;
         }
      }
      
      // Declare a Name property of type string:
      public override string Name
      {
         get
         {
            return name;
         }
         set
         {
            name = value;
         }
      }
      
      // Declare a Age property of type int:
      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()
      {
         // Create a new Student object:
         Student s = new Student();
         
         // Setting code, name and the age of the student
         s.Code = "001";
         s.Name = "Zara";
         s.Age = 9;
         Console.WriteLine("Student Info:- {0}", s);
         
         //let us increase age
         s.Age += 1;
         Console.WriteLine("Student Info:- {0}", s);
         Console.ReadKey();
      }
   }
}
Khi code trên được biên dịch và thực thi, nó sẽ cho kết quả:
Student Info: Code = 001, Name = Zara, Age = 9
Student Info: Code = 001, Name = Zara, Age = 10
Loạt bài hướng dẫn học C# cơ bản và nâng cao của chúng tôi dựa trên nguồn tài liệu của:Tutorialspoint
Follow https://www.facebook.com/giaithuatlaptrinhTN/để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.

Bài Viết Liên Quan