Bài giảng Lập trình hướng đối tượng - Chương 5: Phương thức thiết lập, phương thức phá hủy - Nguyễn Sơn Hoàng Quốc

Khoa CNTT  
LTHĐT  
Chƣơng 5  
PHƢƠNG THỨC THIẾT LẬP,  
PHƢƠNG THỨC PHÁ HỦY  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 1  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
0. MỤC TIÊU  
Hiểu được phương thức thiết  
lập là gì?  
Hiểu được phương thức phá  
hủy là gì?  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 2  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
1. PHƢƠNG THỨC THIẾT LẬP  
CONSTRUCTORS  
Mục tiêu: các phương  
thức thiết lập của một  
lớp có nhiệm vụ thiết lập  
thông tin ban đầu cho  
các đối tượng thuộc về  
lớp ngay khi đối tượng  
được khai báo.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 3  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
1.1 CÁC ĐẶC ĐIỂM CỦA  
PHƢƠNG THỨC THIẾT LẬP  
Tên phương thức thiết lập trùng với  
tên lớp.  
Không có giá trị trả về.  
Được tự động gọi thực hiện ngay khi  
đối tượng được khai báo.  
Có thể có nhiều phương thức thiết lập  
trong 1 lớp.  
Trong một quá trình sống của đối  
tượng thì chỉ có 1 lần duy nhất một  
phương thức thiết lập được gọi thực  
hiện mà thôi đó là khi đối tượng ra đời.  
Các phương thức thiết lập của lớp  
thuộc nhóm các phương thức khởi  
tạo.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 4  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
1.2 PHÂN LOẠI  
PHƢƠNG THỨC THIẾT LẬP  
Ta có thể chia các phương thức thiết  
lập của một lớp thành 3 nhóm như  
sau:  
Phương thức thiết lập mặc định  
(default constructor).  
Phương thức thiết lập sao chép  
(copy constructor).  
Phương thức thiết lập nhận tham số  
đầu vào.  
Phương thức thiết lập mặc định là  
phương thức thiết lập các thông ban  
đầu cho đối tượng thuộc về lớp bằng  
bằng những giá trị mặc định (do người  
lập trình quyết định).  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 5  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
1.2 PHÂN LOẠI  
PHƢƠNG THỨC THIẾT LẬP  
Phương thức thiết lập sao chép (copy  
constructor) là phương thức thiết lập  
nhận tham số đầu vào là một đối  
tượng cùng thuộc về lớp. Các thông  
tin ban đầu của đối tượng sẽ hoàn  
toàn giống thông tin của đối tượng  
tham số đầu vào. Ngoài ra, người ta  
còn nói phương thức thiết lập sao  
chép được sử dụng để tao ra đối  
tượng mới giống hoàn toàn đối tượng  
đã có sẵn.  
Phương thức thiết lập nhận tham số  
đầu vào là những phương thức thiết  
lập ko phải là phương thức thiết lập  
mặc định và phương thức thiết lập  
sao chép.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 6  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
1.3 VÍ DỤ MINH HỌA  
PHƢƠNG THỨC THIẾT LẬP  
Bài toán: Hãy khai báo và định nghĩa các  
phương thức thiết lập cơ bản cho lớp đối  
tượng CPhanSo  
Khai báo lớp  
11.class CPhanSo  
12.{  
13. private:  
14.  
int tu;  
15.  
int mau;  
16. public:  
17.  
CPhanSo();  
18.  
CPhanSo(int, int);  
19.  
CPhanSo(const CPhanSo&);  
20.};  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 05 - 7  
Khoa CNTT  
LTHĐT  
1.3 VÍ DỤ MINH HỌA  
PHƢƠNG THỨC THIẾT LẬP  
Định nghĩa phương thức thiết  
lập mặc định.  
1. CPhanSo::CPhanSo()  
2. {  
3.  
tu = 0;  
4.  
mau = 1;  
5. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 05 - 8  
Khoa CNTT  
LTHĐT  
1.3 VÍ DỤ MINH HỌA  
PHƢƠNG THỨC THIẾT LẬP  
Định nghĩa phương thức thiết lập  
sao chép  
1. CPhanSo::CPhanSo(const CPhanSo&x)  
2. {  
3.  
tu = x.tu;  
4.  
mau = x.mau;  
5. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 05 - 9  
Khoa CNTT  
LTHĐT  
1.3 VÍ DỤ MINH HỌA  
PHƢƠNG THỨC THIẾT LẬP  
Định nghĩa phương thức thiết  
lập khi biết đầy đủ thông tin  
1. CPhanSo::CPhanSo(int t,  
int m)  
2. {  
3.  
tu = t;  
4.  
mau = m;  
5. }  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 05 - 10  
Khoa CNTT  
LTHĐT  
1.4 HƢỚNG DẪN SỬ DỤNG 1  
Hãy xem xét đoạn chương trình  
sau và cho biết có bao nhiêu  
phương thức gọi thực hiện:  
1. CPhanSo a;  
2. a.Nhap();  
3. a.Xuat();  
Trả lời:  
. Phương thức….  
. Phương thức nhập.  
. Phương thức xuất.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 11  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
1.5 HƢỚNG DẪN SỬ DỤNG 2  
Hãy xem xét đoạn chương trình sau  
và cho biết có bao nhiêu phương  
thức gọi thực hiện:  
1. CPhanSo a, b(1,2);  
2. a.Nhap();  
3. b.Xuat();  
4. CPhanSo c(a);  
5. c.Xuat();  
Trả lời:  
. Phương thức….  
. Phương thức….  
. Phương thức….  
. Phương thức….  
. Phương thức….  
. Phương thức….  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 12  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
1.6 Ý NGHĨA SỬ DỤNG  
PHƢƠNG THỨC THIẾT LẬP  
Khởi tạo giá trị ban đầu cho các đối  
tượng thuộc về lớp ngay khi các đối  
tượng được khai báo.  
Ép kiểu từ đối tượng này sang đối  
tượng khác.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 13  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
1.7 ỨNG DỤNG  
Bài toán: Hãy khai báo và định nghĩa  
các phương thức thiết lập cơ bản cho  
lớp đối tượng ngày.  
Khai báo lớp.  
11.class CNgay  
12.{  
13. private:  
14.  
15.  
16.  
int ng;  
int th;  
int nm;  
17. public:  
18.  
CNgay();  
19.  
CNgay(const CNgay &);  
CNgay(int,int,int);  
20.  
21.};  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 05 - 14  
Khoa CNTT  
LTHĐT  
1.7 ỨNG DỤNG  
Định nghĩa phương thức thiết lập mặc  
định.  
11.CNgay::CNgay()  
12.{  
13.  
ng = 1;  
th = 1;  
nm = 1;  
14.  
15.  
16.}  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 05 - 15  
Khoa CNTT  
LTHĐT  
1.7 ỨNG DỤNG  
Định nghĩa phương thức thiết lập khi  
biết đầy đủ thông tin.  
11.CNgay::CNgay(int ngng,  
int thth,  
int nmnm)  
12.{  
13.  
ng = ngng;  
th = thth;  
nm = nmnm;  
14.  
15.  
16.}  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 05 - 16  
Khoa CNTT  
LTHĐT  
1.7 ỨNG DỤNG  
Định nghĩa phương thức thiết lập sao  
chép.  
11.CNgay::CNgay(const CNgay &x)  
12.{  
13.  
ng = x.ng;  
th = x.th;  
nm = x.nm;  
14.  
15.  
16.}  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 05 - 17  
Khoa CNTT  
LTHĐT  
2. PHƢƠNG THỨC PHÁ HỦY  
DESTRUCTOR  
Mục tiêu: Phương thức phá  
hủy của một lớp có nhiệm vụ  
dọn dẹp “xác chết” của đối  
tượng khi đối tượng “đi bán  
muối”. Nói một cách khác,  
phương thức phá hủy có  
nhiệm vụ thu hồi lại tất cả  
các tài nguyên đã cấp phát  
cho đối tượng khi đối tượng  
hết phạm vi hoạt động.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 18  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
2.1 CÁC ĐẶC ĐIỂM CỦA  
PHƢƠNG THỨC PHÁ HỦY  
Tên phương thức trùng với tên lớp  
nhưng có dấu ngã ở đằng trước.  
Không có giá trị trả về.  
Không có tham số đầu vào.  
Được tự động gọi thực hiện khi đối  
tượng hết phạm vi sử dụng.  
Phương thức phá huỷ thuộc nhóm các  
phương thức xử lý.  
Có và chỉ có duy nhất một phương  
thức phá huỷ trong 1 lớp mà thôi.  
Trong một quá trình sống của đối  
tượng có và chỉ có một lần phương  
thức phá hủy được gọi thực hiện mà  
thôi.  
GV. Nguyễn Sơn Hoàng Quốc  
Chương 05 - 19  
ThS. Nguyễn Tấn Trần Minh Khang  
Khoa CNTT  
LTHĐT  
2.2 VÍ DỤ MINH HỌA  
PHƢƠNG THỨC PHÁ HỦY  
Bài toán: Hãy khai báo và định nghĩa  
phương thức phá hủy cho lớp đối  
tượng CPhanSo  
Khai báo lớp  
1. class CPhanSo  
2. {  
3.  
private:  
int tu;  
int mau;  
public:  
4.  
5.  
6.  
7.  
// Phương thức xử lý  
8.  
~CPhanSo();  
9. };  
GV. Nguyễn Sơn Hoàng Quốc  
ThS. Nguyễn Tấn Trần Minh Khang  
Chương 05 - 20  
Tải về để xem bản đầy đủ
pdf 23 trang myanh 30341 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Chương 5: Phương thức thiết lập, phương thức phá hủy - Nguyễn Sơn Hoàng Quốc", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_huong_doi_tuong_chuong_5_phuong_thuc_thi.pdf