
Trường Đại Học BáchKhoa Tp.HCM
Khoa Khoa học và Kỹ thuật Máy tính
© 2017
Lập trình C/C++
3
Tại sao cần đến thừa kế
nGiả sử một hệ thống phần mềm cho một trường đại học
(Bách Khoa). Nhiều nhóm người dùng có thể dùng hệ
thống này, họ có thể là:
a) Giảng viên (lecturer)
b) Sinh viên (student)
c) Nhân viên văn phòng (clerk)
d) Bảo vệ (guardian)
e) Người dọn dẹp (cleaner)
f) v.v
nMỗi nhóm người dùng có những tính năng khác nhau, hệ
thống xử lý dữ liệu với từng nhóm cũng khác nhau.
nGiải pháp là gì để phầm mềm xử lý dữ liệu với từng nhóm
người theo cách khác nhau?
CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trường Đại Học BáchKhoa Tp.HCM
Khoa Khoa học và Kỹ thuật Máy tính
© 2017
Lập trình C/C++
4
Tại sao cần đến thừa kế
n(1) Tạo chung một cấu trúc “User”, cấu trúc này có trường
thông tin “type”. Giải thuật xử lý có dạng:
switch (type){
case STUDENT:{
//Xử lý, nếu là sinh viên
}
case LECTURER:{
//Xử lý, nếu là giảng viên
}
...
};
CuuDuongThanCong.com https://fb.com/tailieudientucntt

Trường Đại Học BáchKhoa Tp.HCM
Khoa Khoa học và Kỹ thuật Máy tính
© 2017
Lập trình C/C++
5
Tại sao cần đến thừa kế
n(1) Tạo chung một cấu trúc “User”, cấu trúc này có trường
thông tin “type”. Giải thuật xử lý có dạng:
nNhược điểm:
nCode dài dòng
nKhó thay đổi
nKhó mở rộng
n…
CuuDuongThanCong.com https://fb.com/tailieudientucntt