
1
Lập trình C++ 1

2
Kế thừa
1. Quan h “has a” và “is a”ệ
2. Bài toán minh ho compositionạ
3. K th a đ nế ừ ơ
4. N p ch ngạ ồ
5. T khoá protectedừ
6. Review
7. Bài t pậ

3
Quan hệ “has a” và “is a”
Các đ i t ng có th có quan h v i nhau.ố ượ ể ệ ớ
Quan h ệ“has a”: A “has a” B n u trong đ i ế ố
t ng A có m t thành ph n là đ i t ng B (ượ ộ ầ ố ượ quan
h bao g m - composition)ệ ồ
Ví d : Đ i t ng Ngôi nhà có thành ph n là đ i t ng ụ ố ượ ầ ố ượ
mái nhà, T ng và C a ra vào. Đ i t ng Hình ch ườ ử ố ượ ữ
nh t có thành ph n là Đi m trên trái và d i ph i. Đ i ậ ầ ể ướ ả ố
t ng Sinh viên có m t thành ph n là đ i t ng Ngày ượ ộ ầ ố ượ
tháng (ngày sinh)...

4
Quan hệ “has a” và “is a”
Quan h ệ“is a”: A “is a” B n u đ i t ng A có ế ố ượ
nh ng đ c tính c a đ i t ng B (ữ ặ ủ ố ượ quan h k ệ ế
th a - inheritance)ừ
Ví d : Con voi có b n ch t là m t Đ ng v t. Hình c u ụ ả ấ ộ ộ ậ ầ
là m t s m r ng c a Hình tròn. Sinh viên đ i c ng ộ ự ở ộ ủ ạ ươ
và Sinh viên chuyên ngành đ u có nh ng đ c đi m ề ữ ặ ể
c a Sinh viên...ủ
Chú ý: Trong l p trình đôi khi ta có th cài đ t quan ậ ể ặ
h gi a các đ i t ng m t cách “linh ho t”. Ch ng ệ ữ ố ượ ộ ạ ẳ
h n có th coi Hình tròn là đ i t ng ch a m t ạ ể ố ượ ứ ộ
Đi m (tâm hình tròn) ho c là m t s k th a t đ i ể ặ ộ ự ế ừ ừ ố
t ng Đi m (!?).ượ ể

5
Ví dụ minh hoạ composition
Xây d ng l p Hinhchunhat t l p Diemự ớ ừ ớ
#include <iostream.h>
// Lop Diem
class Diem
{
private:
int x, y;
public:
Diem(); // Cau tu mac dinh
Diem(int xx, int yy); // Cau tu khoi tao toa do
void DatToado(int xx, int yy); // Dat toa do
int LayX(); // Tra ve toa do x
int LayY(); // Tra ve toa do y
};

