Ph m Minh Hoàn - NEU
Ph m Minh Hoàn - NEU
CH NG 3: K TH AƯƠ
CH NG 3: K TH AƯƠ
Ph m Minh Hoàn
Ph m Minh Hoàn
B môn công ngh thông tin – Đi h c Kinh t Qu c dân ế
B môn công ngh thông tin – Đi h c Kinh t Qu c dân ế
Email: hoanpm@neu.edu.vn
Email: hoanpm@neu.edu.vn
Ph m Minh Hoàn - NEU
Ph m Minh Hoàn - NEU
N I DUNG CH NG TRÌNH ƯƠ
N I DUNG CH NG TRÌNH ƯƠ
Ch ng này trình bày nh ng v n đ sau ươ
Ch ng này trình bày nh ng v n đ sau ươ
đây:
đây:
Tính k th a và d n xu t.ế
Tính k th a và d n xu t.ế
Phân lo i k th a. ế
Phân lo i k th a. ế
Hàm t o và hàm h y đi v i s k th a. ế
Hàm t o và hàm h y đi v i s k th a. ế
Ph m Minh Hoàn - NEU
Ph m Minh Hoàn - NEU
S D N XU T VÀ TÍNH K TH A
S D N XU T VÀ TÍNH K TH A
KHÁI NI M
KHÁI NI M
K th a là m t trong các khái ni m c s c a ế ơ
K th a là m t trong các khái ni m c s c a ế ơ
ph ng pháp l p trình h ng đi t ng. ươ ướ ượ
ph ng pháp l p trình h ng đi t ng. ươ ướ ượ
Tính k th a cho phép đnh nghĩa các l p m i ế
Tính k th a cho phép đnh nghĩa các l p m i ế
t các l p đã có
t các l p đã có .
.
L p đã có đc g i là ượ
L p đã có đc g i là ượ l p c s , ơ
l p c s , ơ l p m i đc ượ
l p m i đc ượ
g i là
g i là l p d n xu t
l p d n xu t .
.
M t l p có th là l p c s cho nhi u l p d n ơ
M t l p có th là l p c s cho nhi u l p d n ơ
xu t khác nhau.
xu t khác nhau.
L p d n xu t s k th a m t s thành ph n (d ế
L p d n xu t s k th a m t s thành ph n (d ế
li u và hàm) c a l p c s , đng th i có thêm ơ
li u và hàm) c a l p c s , đng th i có thêm ơ
nh ng thành ph n m i.
nh ng thành ph n m i.
Ph m Minh Hoàn - NEU
Ph m Minh Hoàn - NEU
S D N XU T VÀ TÍNH K TH A
S D N XU T VÀ TÍNH K TH A
PHÂN LO I
PHÂN LO I
Đn k th aơ ế
Đn k th aơ ế
Đa k th a ế
Đa k th a ế
A
B C D
ABC
D
A
B
C
A
B
Ph m Minh Hoàn - NEU
Ph m Minh Hoàn - NEU
S D N XU T VÀ TÍNH K TH A
S D N XU T VÀ TÍNH K TH A
ĐNH NGHĨA K TH A
ĐNH NGHĨA K TH A
Gi s đã đnh nghĩa các l p A, B, .... Cú pháp đ
Gi s đã đnh nghĩa các l p A, B, .... Cú pháp đ
xây d ng l p Z d n xu t t các l p A, l p B, ...
xây d ng l p Z d n xu t t các l p A, l p B, ...
nh sau: ư
nh sau: ư
class Z: mode A [, mode B[...]]
class Z: mode A [, mode B[...]]
{
{
private:
private:
// Khai báo các thu c tính c a l p Z
// Khai báo các thu c tính c a l p Z
public:
public:
// Đnh nghĩa các hàm thành ph n c a l p Z
// Đnh nghĩa các hàm thành ph n c a l p Z
};
};