1
Lp trình C++ 1
2
Kế tha
1. Quan h “has avà “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 đ 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
};