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 (131.48 KB, 3 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]
{