1 Lớp và đối tượng – Phần 4 Fri Nov 02, 2012 12:55 pm
LostSoul89
Admin
Lớp và đối tượng – Phần 4
Ngoài
đối đặc biệt this (đối này không xuất hiện một cách tường minh), phương
thức còn có các đối khác được khai báo thư trong các hàm. Đối của
phương thức có thể có kiểu bất kỳ (chuẩn và ngoài chuẩn).
3.3/- Các đối khác của phương thức
Ví dụ để xây dựng phương thức vẽ đường thẳng qua 2 điểm ta cần đưa
vào 3 đối: Hai đối là 2 biến kiểu DIEM, đối thứ ba kiểu nguyên xác định
mã mầu. Vì đã có đối ngầm định this là đối thứ nhất, nên chỉ cần khai
báo thêm 2 đối. Phương thức có thể viết như sau:
Chương trình sau minh hoạ các phương thức có nhiều đối. Ta vẫn dùng lớp DIEM nhưng có một số thay đổi:
♦ Bỏ thuộc tính m (mầu)
♦ Bỏ các phương thức hien và an
♦ Đưa vào 4 phương thức mới:
Chương trình còn minh hoạ:
♦ Việc phương thức này sử dụng phương thức khác (phương thức
ve_tam_giac sử dụng phương thức ve_doan_thang, phương thức chu_vi sử
dụng phương thức do_dai)
♦ Sử dụng con trỏ this trong thân các phương thức ve_tam_giac và chu_vi
Nội dung chương trình là nhập 3 điểm, vẽ tam giác có đỉnh là 3 điểm vừa nhập sau đó tính chu vi tam giác.
Một số nhận xét về đối của phương thức và lời gọi phương thức:
- Quan sát nguyên mẫu phương thức:
sẽ thấy phương thức có 3 đối:
Đối thứ nhất là một đối tượng DIEM do this trỏ tới
Đối thứ hai là đối tượng DIEM d2
Đối thứ ba là biến nguyên mẫu
Nội dung phương thức là vẽ một đoạn thẳng đi qua các điểm *this và d2
theo mã mầu mau. Xem thân của phương sẽ thấy được nội dung này:
Tuy nhiên trong trường hợp này, vai trò của this không cao lắm, vì nó
được đưa vào chỉ cốt làm rõ đối thứ nhất. Trong thân phương thức có thể
bỏ từ khóa this vẫn được.
- Vai trò của this trở nên quan trọng trong phương thức ve_tam_giac:
Phương thức này có 4 đối là:
this : trỏ tới một đối tượng kiểu DIEM
d2 : một đối tượng kiểu DIEM
d3 : một đối tượng kiểu DIEM
mau : một biến nguyên
Nội dung phương thức là vẽ 3 cạnh:
cạnh 1 đi qua *this và d2
cạnh 2 đi qua d2 và d3
cạnh 3 đi qua d3 và *this
Các cạnh trên đuợc vẽ nhờ sử dụng phương thức ve_doan_thang:
Trong trường này rõ ràng vai trò của this rất quan trọng. Nếu không
dùng nó thì công việc trở nên khó khăn, dài dòng và khó hiểu hơn. Chúng
ta hãy so sánh 2 phương án:
Phương án dùng this trong phương thức ve_tam_giac:
phương án không dùng this trong phương thức ve_tam_giac:
Hết phần 4
Nguồn: Internet
Ngoài
đối đặc biệt this (đối này không xuất hiện một cách tường minh), phương
thức còn có các đối khác được khai báo thư trong các hàm. Đối của
phương thức có thể có kiểu bất kỳ (chuẩn và ngoài chuẩn).
3.3/- Các đối khác của phương thức
Ví dụ để xây dựng phương thức vẽ đường thẳng qua 2 điểm ta cần đưa
vào 3 đối: Hai đối là 2 biến kiểu DIEM, đối thứ ba kiểu nguyên xác định
mã mầu. Vì đã có đối ngầm định this là đối thứ nhất, nên chỉ cần khai
báo thêm 2 đối. Phương thức có thể viết như sau:
Chương trình sau minh hoạ các phương thức có nhiều đối. Ta vẫn dùng lớp DIEM nhưng có một số thay đổi:
♦ Bỏ thuộc tính m (mầu)
♦ Bỏ các phương thức hien và an
♦ Đưa vào 4 phương thức mới:
Chương trình còn minh hoạ:
♦ Việc phương thức này sử dụng phương thức khác (phương thức
ve_tam_giac sử dụng phương thức ve_doan_thang, phương thức chu_vi sử
dụng phương thức do_dai)
♦ Sử dụng con trỏ this trong thân các phương thức ve_tam_giac và chu_vi
Nội dung chương trình là nhập 3 điểm, vẽ tam giác có đỉnh là 3 điểm vừa nhập sau đó tính chu vi tam giác.
Một số nhận xét về đối của phương thức và lời gọi phương thức:
- Quan sát nguyên mẫu phương thức:
sẽ thấy phương thức có 3 đối:
Đối thứ nhất là một đối tượng DIEM do this trỏ tới
Đối thứ hai là đối tượng DIEM d2
Đối thứ ba là biến nguyên mẫu
Nội dung phương thức là vẽ một đoạn thẳng đi qua các điểm *this và d2
theo mã mầu mau. Xem thân của phương sẽ thấy được nội dung này:
Tuy nhiên trong trường hợp này, vai trò của this không cao lắm, vì nó
được đưa vào chỉ cốt làm rõ đối thứ nhất. Trong thân phương thức có thể
bỏ từ khóa this vẫn được.
- Vai trò của this trở nên quan trọng trong phương thức ve_tam_giac:
Phương thức này có 4 đối là:
this : trỏ tới một đối tượng kiểu DIEM
d2 : một đối tượng kiểu DIEM
d3 : một đối tượng kiểu DIEM
mau : một biến nguyên
Nội dung phương thức là vẽ 3 cạnh:
cạnh 1 đi qua *this và d2
cạnh 2 đi qua d2 và d3
cạnh 3 đi qua d3 và *this
Các cạnh trên đuợc vẽ nhờ sử dụng phương thức ve_doan_thang:
Trong trường này rõ ràng vai trò của this rất quan trọng. Nếu không
dùng nó thì công việc trở nên khó khăn, dài dòng và khó hiểu hơn. Chúng
ta hãy so sánh 2 phương án:
Phương án dùng this trong phương thức ve_tam_giac:
phương án không dùng this trong phương thức ve_tam_giac:
Hết phần 4
Nguồn: Internet