1 Lớp và đối tượng – Phần 3 Fri Nov 02, 2012 12:54 pm
LostSoul89
Admin
Lớp và đối tượng – Phần 3
Trong
phương thức này chúng ta sử dụng tên các thuộc tính x, y và m một cách
đơn độc. Điều này có vẻ như mâu thuẫn với quy tắc sử dụng thuộc tính nêu
trong mục trước. Thực tế C++ đã ngầm định sử dụng một con trỏ đặc biệt
với tên gọi this trong các phương thức trên. Các thuộc tính viết trong
phương thức được hiểu là thuộc một đối tượng do con trỏ this trỏ tới.
c/- Con trỏ đối tượng
Con trỏ đối tượng dùng để chứa địa chỉ của biến, mảng đối tượng. Nó được khai báo như sau:
Tên_lớp *con trỏ;
Ví dụ dùng lớp DIEM có thể khai báo:
và có thể thực hiện các câu lệnh:
Để sử dụng thuộc tính của đối tượng thông qua con trỏ, ta viết như sau:
Tên_con_trỏ → Tên_thuộc_tính
Chú ý: Nếu con trỏ chứa địa chỉ đầu của mảng, có thể dùng con trỏ như tên mảng.
Như vậy sau khi thực hiện các câu lệnh trên thì:
p1 → x và d2.x là như nhau
p2.y và d[i].y là như nhau
Từ đó ta có quy tắc sử dụng thuộc tính: Để sử dụng một thuộc tính của
đối tượng ta phải dùng phép . hoặc phép →. Trong chương trình, không
cho phép viết tên thuộc tính một cách đơn độc mà phải đi kèm tên đối
tượng hoặc tên con trỏ theo các mẫu sau:
Chương trình dưới đây cũng sử dụng lớp DIEM để nhập một dãy điểm,
hiển thị và ẩn các điểm vừa nhập. Chương trình dùng một con trỏ kiểu
DIEM và dùng toán tử new để tạo ta một dãy đối tượng
3/- Đối của phương thức, con trỏ this
3.1/- Con trỏ this là đối thứ nhất của phương thức
Chúng ta hãy xem lại phương thức nhapsl của lớp DIEM
Trong phương thức này chúng ta sử dụng tên các thuộc tính x, y và m
một cách đơn độc. Điều này có vẻ như mâu thuẫn với quy tắc sử dụng thuộc
tính nêu trong mục trước. Thực tế C++ đã ngầm định sử dụng một con trỏ
đặc biệt với tên gọi this trong các phương thức trên. Các thuộc tính
viết trong phương thức được hiểu là thuộc một đối tượng do con trỏ this
trỏ tới. Do đó, nếu tường minh hơn, phương thức nhapsl() có thể được
viết dưới dạng tương đương như sau:
Như vậy có thể kết luận rằng: Phương thức bao giờ cũng có ít nhất một
đối là con trỏ this và nó luôn luôn là đối đầu tiên của phương thức.
3.2/- Tham số ứng với đối con trỏ this
Xét một lời gọi tới phương thức nhapsl() :
Trong trường hợp này tham số truyền cho con trỏ this chính là địa chỉ của d1:
Do đó:
Như vậy câu lệnh:d1.nhapsl() ;sẽ nhập dữ liệu cho các thuộc tính của đối tượng d1. Từ đó có thể rút ra kết luận sau:
Tham số truyền cho đối con trỏ this chính là địa chỉ của đối tượng đi kèm với phương thức trong lời gọi phương thức.
[i]Hết phần 3
Nguồn: Internet
Trong
phương thức này chúng ta sử dụng tên các thuộc tính x, y và m một cách
đơn độc. Điều này có vẻ như mâu thuẫn với quy tắc sử dụng thuộc tính nêu
trong mục trước. Thực tế C++ đã ngầm định sử dụng một con trỏ đặc biệt
với tên gọi this trong các phương thức trên. Các thuộc tính viết trong
phương thức được hiểu là thuộc một đối tượng do con trỏ this trỏ tới.
c/- Con trỏ đối tượng
Con trỏ đối tượng dùng để chứa địa chỉ của biến, mảng đối tượng. Nó được khai báo như sau:
Tên_lớp *con trỏ;
Ví dụ dùng lớp DIEM có thể khai báo:
và có thể thực hiện các câu lệnh:
Để sử dụng thuộc tính của đối tượng thông qua con trỏ, ta viết như sau:
Tên_con_trỏ → Tên_thuộc_tính
Chú ý: Nếu con trỏ chứa địa chỉ đầu của mảng, có thể dùng con trỏ như tên mảng.
Như vậy sau khi thực hiện các câu lệnh trên thì:
p1 → x và d2.x là như nhau
p2.y và d[i].y là như nhau
Từ đó ta có quy tắc sử dụng thuộc tính: Để sử dụng một thuộc tính của
đối tượng ta phải dùng phép . hoặc phép →. Trong chương trình, không
cho phép viết tên thuộc tính một cách đơn độc mà phải đi kèm tên đối
tượng hoặc tên con trỏ theo các mẫu sau:
Chương trình dưới đây cũng sử dụng lớp DIEM để nhập một dãy điểm,
hiển thị và ẩn các điểm vừa nhập. Chương trình dùng một con trỏ kiểu
DIEM và dùng toán tử new để tạo ta một dãy đối tượng
3/- Đối của phương thức, con trỏ this
3.1/- Con trỏ this là đối thứ nhất của phương thức
Chúng ta hãy xem lại phương thức nhapsl của lớp DIEM
Trong phương thức này chúng ta sử dụng tên các thuộc tính x, y và m
một cách đơn độc. Điều này có vẻ như mâu thuẫn với quy tắc sử dụng thuộc
tính nêu trong mục trước. Thực tế C++ đã ngầm định sử dụng một con trỏ
đặc biệt với tên gọi this trong các phương thức trên. Các thuộc tính
viết trong phương thức được hiểu là thuộc một đối tượng do con trỏ this
trỏ tới. Do đó, nếu tường minh hơn, phương thức nhapsl() có thể được
viết dưới dạng tương đương như sau:
Như vậy có thể kết luận rằng: Phương thức bao giờ cũng có ít nhất một
đối là con trỏ this và nó luôn luôn là đối đầu tiên của phương thức.
3.2/- Tham số ứng với đối con trỏ this
Xét một lời gọi tới phương thức nhapsl() :
Trong trường hợp này tham số truyền cho con trỏ this chính là địa chỉ của d1:
Do đó:
Như vậy câu lệnh:d1.nhapsl() ;sẽ nhập dữ liệu cho các thuộc tính của đối tượng d1. Từ đó có thể rút ra kết luận sau:
Tham số truyền cho đối con trỏ this chính là địa chỉ của đối tượng đi kèm với phương thức trong lời gọi phương thức.
[i]Hết phần 3
Nguồn: Internet