Khoanglang89
Bạn hãy đăng nhập hoặc đăng ký
Khoanglang89
Bạn hãy đăng nhập hoặc đăng ký
Khoanglang89

NHẬN THIẾT KẾ WEBSITE/ SOFTWARE - LÀM ĐỒ ÁN TỐT NGHIỆP, ĐỒ ÁN CHUYÊN MÔN NGÀNH CÔNG NGHỆ THÔNG TIN


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

1Lớp và đối tượng – Phần 3 Empty Lớp và đối tượng – Phần 3 Fri Nov 02, 2012 12:54 pm

LostSoul89

LostSoul89

Admin
Admin
Loading
Lớp và đối tượng – Phần 3




Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_d








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:


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_1

và có thể thực hiện các câu lệnh:


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_2

Để 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:


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_3

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


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_4


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_5


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_6

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


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_7

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:


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_8

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() :


Lớp và đối tượng – Phần 3 20120509_Lopvadoituong_p3_9

Trong trường hợp này tham số truyền cho con trỏ this chính là địa chỉ của d1:


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_10

Do đó:


Lớp và đối tượng – Phần 3 20120508_Lopvadoituong_p3_11

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

https://khoanglang89.forumvi.com

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Bài viết mới cùng chuyên mục

    Bài viết liên quan vớiLớp và đối tượng – Phần 3

      Permissions in this forum:
      Bạn không có quyền trả lời bài viết