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++
1
Chương 10
Lp trình hướng đối tượng
-- ch đnâng cao --
Lê Thành Sách
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++
2
Nội dung
nĐa thừa kế
nĐa thừa kế: thừa kế ảo
nKhởi động lớp cha trong thừa kế ảo
nĐa hình (polymorphism)
nĐa hình: m tính abstract
nTng kết
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++
3
Đa thừa kế
n?
nLà một lớp thừa kế các thành viên t nhiều hơn một lớp, như dụ
sau.
http://www.uml-diagrams.org/generalization.html
Lớp ConsultantManager
PermanentManager, đến 2
lớp cha.
Trưng hp tng quát: có th có
nhiều cha.
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
Đa thừa kế
n t đa thừa kế ntn?
nLiệt các lớp cha như dụ sau.
nS dụng dấu phẩy để ngăn cách.
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
class Employee{
};
class TemporaryEmployee: public Employee{
};
class PermanentEmployee: public Employee{
};
class Consultant: public TemporaryEmployee{
};
class Manager: public Employee{
};
class ConsultantManager: public Consultant, public Manager{
};
class Director: public Manager{
};
class PermanentManager: public Manager, public PermanentEmployee{
};
Dùng dấu phẩy ,” đliệt các lp cha
CuuDuongThanCong.com https://fb.com/tailieudientucntt