Hàm set và get trong C#

Đăng bởi : 3/09/2014


thuvienwinform - Chắc hẳn trong quá trình học cũng như tìm kiếm trên mạng thì hai hàm này không còn xa lạ đối với các bạn nữa. Nhưng chắc hẳn câu hỏi đầu tiên đặt ra là tại sao lại phải xây dựng các biến theo set và get mà không gán bình thường? Hãy xem nó có những nổi trội gì nhé!

Ví dụ 2 code sử dụng set get:

Code 1:

int _tuoi = 0;
public int Tuoi
{
    set 
    { 
        _tuoi = value;
        if (_tuoi < 0)
            _tuoi = 0;//Không có tuổi nhỏ hơn 0
    }
    get
    {
        return _tuoi;
    }
}    
this.Tuoi = -8;//Thực hiện set => _tuoi = 0;
int layTuoi = this.Tuoi;//thực hiện get => trả về giá trị _tuoi (0)



Code 2:
   
private string _hoTen;
public string HoTen
{
    set { _hoTen = value; }
    get { return _hoTen; }
}
//Tương đương với code sau:
public string HoTen
{
    set;
    get;
}

- Như ở đoạn code 1: khi bạn nhập vào Tuoi = -1 thì nó sẽ trả về 0, chứ bình thường ra phải code một đoạn nữa để xử lí trường hợp nhập sai tuổi! Rất hữu ích đúng không nào
- Còn với đoạn code 2 thì ở đây chỉ nhập vào và xuất ra luôn (chưa có ràng buộc) thì có thể thu gọn về chỉ còn set; get; thôi (vẫn nên sử dụng vì sau này có thêm ràng buôc gì cho biến này thì sẽ thêm vào một cách dễ dàng hơn!).

Có set get mới là thuộc tính, mỗi thuộc tính có các tính chất của nó, ví dụ 0 < Cân nặng < 1000, năm sinh < năm hiện tại, ... set, get để thực hiện các ràng buộc đó.

_tuoi là biến bình thường, còn Tuoi là thuộc tính (có cái cờ lê :v)


{ 7 comments }

Nhận ngay 100$ cho VPS

Mua hàng ủng hộ page

Ủng hộ page

Nhãn

Code (45) Team Foundation Server (17) Database (14) News (14) product (13) toolbox (10) Linq (9) SoftDesign (8) XNA (6) API (5) Project (5) item (4)

- Bản quyền thuộc về Thư Viện WinForm - Giao diện: Metrominimalist - Thiết kế: Johanes Djogan -