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 (88.38 KB, 6 trang )
Bộ lập chỉ mục
Indexer không phải là một phần quan trọng của lập trình hướng đối tượng.
Nhưng chúng mô tả cú pháp tiện lợi cho phép các lớp được sử dụng trực
quan hơn. Chúng cho phép bạn truy cập đến một đối tượng nếu nó là một
mảng.
Thêm một Indexer vào vector :
Chúng ta tiếp tục sử dụng struct Vector ở trên để mô tả cách sử dụng
Indexer. Để tham khảo đến các thành phần của struct vector với tên x,y,z. Và
sự cố là các nhà toán học thường thích xem vector như là mảng với x là phần
tử đầu, y là phần tử thứ hai và z là phần tử thứ ba. Và để gán giá trị cho x ta
thường làm như sau:
MyVector[0] = 3.6;
Nếu xem vector như là mảng chúng ta thường có thể thực hiện các thao tác
như lập lại:
for(int i = 0; i < 3; i++)
{
vect2[i] = i;
}
Với sự định nghĩa vector như hiện tại thì đoạn mã này sẽ tạo ra một lỗi nhỏ
trong thời gian biên dịch, vì trình biên dịch không hiểu cái nào là phần tử
đầu tiên của vector. Chính vì thế indexer sẽ giải quyết vấn đề này. Indexer
được định nghĩa như các thuộc tính với các bộ truy nhập get và set. Điểm
khác nhau chính đó là tên của indexer là từ khoá this. Để định nghĩa một
indexer cho một struct vector ta làm như sau:
struct Vector
{
public double x, y, z;
public double this [int i]
{