Tải bản đầy đủ (.pdf) (3 trang)

Tài liệu Hướng Đối Tượng Trong C# part 2 doc

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (113.35 KB, 3 trang )


Thuộc tính(properties):
Để định nghĩa thuộc tính trong C# bạn dùng cú pháp sau:
public string SomeProperty
{
get
{
return "This is the property value";
}
set
{
// do whatever needs to be done to set the property
}
}
Có sự hạn chế thông thường ở đây là: Thủ tục get không có tham số và phải trả về cùng
kiểu với thuộc tính đã được khai báo. Bạn không nên khai báo tường minh các tham số
trong thủ tục set, mà trình biên dịch sẽ tự động biết là có một tham số cùng kiểu trỏ đến
giá trị. Cho một ví dụ, đoạn mã sau chứa một thuộc tính gọi là ForeName, nó sẽ cài một
trường foreName
có chiều dài giới hạn:
private string foreName;

public string ForeName
{
get
{
return foreName;
}
set
{
if (value.Length > 20)


// code here to take error recovery action
// (eg. throw an exception)
else
foreName = value;
}
}

Khác với VB các thủ tục get và set được định nghĩa như là những hàm riêng biệt, trong
C# chúng được khai báo cùng nhau trong một khai báo thuộc tính đơn.Trong VB bạn
khai báo tường minh tham số cho thủ tục set và có thể chọn tên của nó, nhưng ngược lại
trong C# tham số này hoàn toàn giả lập và luôn mang tên là value.
Thuộc tính chỉ đọc và chỉ viết:
Bạn có thể tạo ra thuộc tính chỉ đọc bằng cách bỏ thủ tục set trong khai báo và tạo ra
thuộc tính chỉ ghi bằng cách bỏ thủ tục get trong khai bao thuộc tính đó.
Ví dụ để định nghĩa thuộc tính Forename là chỉ đọc:
private string foreName;

public string ForeName
{
get
{
return foreName;
}
}
Bổ từ truy cập:
C# không cho phép cài đặt những bổ từ khác nhau cho thủ tục set và get. Nếu bạn muốn
tạo ra một thuộc tính có public để đọc nhưng lại muốn hạn chế protected trong gán thì
đầu tiên bạn phải tạo thuộc tính chỉ đọc với bổ từ public sau đó tạo một hàm set() với bổ
từ protected ở bên ngoài thuộc tính đó.
public string ForeName

{
get
{
return foreName;
}
}

protected void SetForeName(string value)
{
if (value.Length > 20)
// code here to take error recovery action
// (eg. throw an exception)
else
foreName = value;
}

Thuộc tính Virtual và Abstract:
C# cho phép bạn tạo một thuộc tính virtual hay abstract. Để khai báo một thuộc tính
virtual, overriden hay abstract bạn chỉ cần thêm từ khoá đó trong lúc định nghĩa thuộc
tính. Ví dụ để tạo một thuộc tính abstract thì cú pháp như sau:
public abstract string ForeName
{
get;
set;
}



×