1
BÀI THỰC HÀNH TUẦN 5
Nội dung:
Kế thừa
Qui định nôp bài tập:
- Mỗi bài tp tương ng vi 1 project, tên Project là BaiXX, vi XX là thtự ca bài
tập (Ví dụ bài tp 1 tên Project tương ng là Bai02).
- Tất cả các bài tp đưc đặt bên trong mt thư mc, tên thư mc theo qui đnh như
sau: BTH2_HoVaTen_MSSV. Ví dụ Sinh viên Nguyễn Sơn Trà có MSSV là
19521269 thì đặt tên thư mc như sau: BTH2_NguyenSonTra_19521269
- Sau đó nén thư mc trên thành tp tin .zip hoặc .rar (tên file nén cũng theo qui đnh
như tên thư mc). Ví dụ BTH2_NguyenSonTra_19521269.rar
- Lưu ý xóa thư mục được phát sinh sau khi biên dịch (thư mục Debug, .vs) của
mỗi project
- Hình thc np bài: Np trên website môn hc theo thi gian qui đnh.
- Những bài np không đúng qui định như trên sẽ không được chấm điểm (0
điểm)
- Tất cả các bài làm có tính chất sao chép (copy) sẽ nhận 0 điểm
2
1. Kế thừa
Kế tha là một tính cht quan trng trong lp trình hướng đi tượng, có khả năng đnh
nghĩa mt lp đi tượng da trên mt hoc nhiu lp đi tưng khác được đnh nghĩa
trước đó Kế tha gii quyết vn đề về tái sử dụng, trùng lp thông tin.
Lớp A kế tha từ lớp B, khi đó:
Lớp B là lớp cha hay lp cơ sở
Lớp A là lớp kế tha, lp con hay lp dn xut
Lớp A tha kế đầy đthuc tính và phương thc ca lp cha
o Lớp con được tha kế đầy đnhng tính cht được đnh nghĩa trong lp
cha
Lớp con là một trường hp đc bit ca lp cha, lp cha là tổng quát hóa ca lp con
o Lớp con có thể định nghĩa thêm thuc tính và phương thc riêng
Khai báo mt lp kế tha theo cu trúc sau:
Ví dụ về tính kế tha:
o Chó o đu là động vt, đu có c bphn trên cơ th, đu có nh đng
ăn, ung, ng. Chó khác mèo chtiếng kêu khác nhau. Vy chó o kế tha
từ lớp động vt.
o Trong trường hc snhiu giáo viên: giáo viên chnhim, giáo viên thnh
ging, Tt cgiáo viên đu có chung thông tin là Họ tên, mc lương, thâm niên
ging dy. Giáo vn chnhim sẽ có thêm thông tin về lớp chnhim, có thêm
hot đng sinh hot chnhim
§ i đt ví dụ cho trường hp kế tha lp giáo viên:
3
Lớp con có thsử dụng np chng hàm đi đt li phương thc có cách xkhác
so vi lp cha, mc dù vẫn có chung ý nghĩa
o Phương thc cn cài đt li cn phi ging y ht vi khai báo ca lp cha
o thể gọi li phương thc ở lớp cha để xử lý nều cn thiết
o dụ sau cài đt hàm tính lương cho giáo viên và giáo viên thnh ging, giáo
viên thnh ging kế tha tlp giáo viên vi cách tính lương khác vi lp giáo
viên
4
2. Tầm vc kế thừa
Tầm vc protected: nếu lp cha khai báo thuc tính và phương thc vi tm vc protected
thì chnhng lp con kế tha từ lớp cha đó mới có thtruy xut sử dụng li.
Lớp con kế tha từ lớp cha sẽ có tầm vc kế tha vi 3 hình thc kế tha:
o Kế tha public
o Kế tha protected
o Kế tha private
Bảng chuyn đi tm vc ca thuc tính và phương thc theo 3 hình thc kế tha:
Dựa trên bng chuyn đi tm vc, có ththy rng:
5
o Lớp con kế tha public t lớp cha thì ginguyên tm vc thuc tính và phương
thc của lp cha
o Lớp con kế tha protected từ lớp cha thì thuc tính và phương thc public ở lớp
cha khi chuyn xung con xài thì sẽ chuyn sang tm vc protected
3. Constructor và Destructor trong kế thừa
Do có lớp con kế tha lp cha, constructor và destructor ca c2 sđược gi khi to
lập hay hy đi tượng. Tuy nhiên, cn u ý thứ tự gọi trong kế tha
Khi gi constructor, lp cha sthc thi trước, sau đó mới đến lp con
Khi gi destructor, lp con sthc thi trước, sau đó mới đến lp cha
Lớp nào có thuc tính kiu con trthì tự lớp đó xử lý
Nếu lp cha và lớp con đu có nhiu constructor, trong đó ta có thquy đnh constructor
o ca lp cha sẽ được gi trước khi gi constructor ca lp con.
o Nếu không quy đnh, hàm dng mc đnh ca lp cha sẽ được gi!
Ví dụ cài đt quy đnh gi constructor ở lớp cha ca lp con: