Lập trình hướng đối tượng tren C/C++ - OOP 08 object life cycle in inheritance
Trang 2Nội dung
Khởi Khởi tạo tạo trong trong kế kế thừa thừa
Hủy Hủy trong trong kế kế thừa thừa
Vấn Vấn đề đề con con trỏ trỏ trong trong kế kế thừa thừa
2 Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Trang 3Nội dung
Khởi Khởi tạo tạo trong trong kế kế thừa thừa
Hủy Hủy trong trong kế kế thừa thừa
Vấn Vấn đề đề con con trỏ trỏ trong trong kế kế thừa thừa
Trang 4Trình tự tạo lập đối tượng kế thừa:
Nhà được xây từ móng đến mái.
Khái niệm được định nghĩa từ thấp đến cao.
Đối tượng được tạo lập từ lõi đến vỏ.
Thành phần kế thừa từ lớp cơ sở được tạo trước.
4 Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Xây móng đến mái Định nghĩa thấp đến cao
Đối tượng kế thừa
Thành phần mới
Đối tượng cơ sở
Thành phần cơ sở
Tạo lập từ lõi đến vỏ
Trang 5Thứ Thứ tự tự khởi khởi tạo tạo ở ở đối đối tượng tượng kế kế thừa thừa::
Phương Phương thức thức khởi khởi tạo tạo lớp lớp cơ cơ sở sở được được gọi gọi trước trước
Phần Phần lõi lõi cơ cơ sở sở được được tạo tạo trước trước
Phương Phương thức thức khởi khởi tạo tạo lớp lớp kế kế thừa thừa gọi gọi sau sau
Phần Phần vỏ vỏ mới mới được được tạo tạo sau sau
Lớp Lớp kế kế thừa thừa có có thể thể lựa lựa chọn chọn cách cách tạo tạo phần phần lõi lõi
Trang 6char **m_hoTenm_hoTen;;
float m_mucLuongm_mucLuong;;
int m_ngayNghim_ngayNghi;;
6 Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
public:
GiaoVien
GiaoVien(); ();
GiaoVien GiaoVien(char * (char *hoTen hoTen,,
Trang 7GVCN
GVCN::GVCN(char ::GVCN(char **hoTenhoTen, float , float mucLuongmucLuong, , intint ngayNghingayNghi, char *, char *lopCNlopCN))
: : GiaoVien GiaoVien((hoTen hoTen, , mucLuong mucLuong, , ngayNghi ngayNghi)) :
: GiaoVien GiaoVien((hoTen hoTen, , mucLuong mucLuong, , ngayNghi ngayNghi))
{{
m_lopCNm_lopCN = new = new char[char[strlenstrlen((lopCNlopCN) + 1) + 1];];
Trang 8Nội dung
Khởi Khởi tạo tạo trong trong kế kế thừa thừa
Hủy Hủy trong trong kế kế thừa thừa
Vấn Vấn đề đề con con trỏ trỏ trong trong kế kế thừa thừa
8 Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Trang 9Trình Trình tự tự hủy hủy đối đối tượng tượng kế kế thừa thừa::
Ngược Ngược lại lại với với trình trình tự tự tạo tạo lập lập
Phương Phương thức thức hủy hủy lớp lớp kế kế thừa thừa được được gọi gọi trước trước
Phần Phần vỏ vỏ bên bên ngoài ngoài được được hủy hủy trước trước
Phương Phương thức thức hủy hủy lớp lớp kế kế cơ cơ sở sở được được gọi gọi sau sau
Phần Phần lõi lõi cơ cơ sở sở được được hủy hủy sau sau
Mỗi Mỗi lớp lớp chỉ chỉ có có một một cách cách hủy hủy
Lớp Lớp kế kế thừa thừa không không cần cần chỉ
chỉ định định cách cách hủy hủy lớp lớp cơ cơ sở sở
Đối tượng kế thừa
Đối tượng cơ sở
Thành phần cơ sở
Trang 10~GiaoVien() được gọi sau
10 Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Trang 11Nội dung
Khởi Khởi tạo tạo trong trong kế kế thừa thừa
Hủy Hủy trong trong kế kế thừa thừa
Vấn Vấn đề đề con con trỏ trỏ trong trong kế kế thừa thừa
Trang 12Luật Luật “ “ba ba ông ông lớn lớn” ”::
Lớp Lớp có có thuộc thuộc tính tính con con trỏ trỏ? ?
Phải Phải tự tự thêm thêm vào vào lớp lớp “ “ba ba ông ông lớn lớn” ”::
Phương Phương thức thức hủy hủy
Phương Phương thức thức khởi khởi tạo tạo sao sao chép chép
Toán Toán tử tử gán gán
Vấn
12 Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Toán Toán tử tử gán gán
Lớp Lớp kế kế thừa thừa có có thuộc thuộc tính tính con con trỏ trỏ? ?
Trang 13Dr Guru Dr Guru khuyên khuyên::
((Luật Luật “ “ba ba ông ông lớn lớn” ” trong trong kế kế thừa thừa))
Lớp Lớp kế kế thừa thừa có có thuộc thuộc tính tính con con trỏ trỏ::
Trang Trang bị bị ““ba ba ông ông lớn lớn” ” cho cho lớp lớp kế kế thừa thừa
Kích Kích hoạt hoạt “ “ba ba ông ông lớn lớn” ” của của lớp lớp cơ cơ sở sở từ từ “ “ba ba ông ông lớn lớn” ” của
của lớp lớp kế kế thừa thừa
Trang 15Khởi Khởi tạo tạo trong trong kế kế thừa thừa::
Khởi Khởi tạo tạo từ từ lõi lõi đến đến vỏ vỏ
Tạo Tạo lõi lõi: : phương phương thức thức khởi khởi tạo tạo lớp lớp cơ cơ sở sở gọi gọi trước trước
Tạo Tạo vỏ vỏ: : phương phương thức thức khởi khởi tạo tạo lớp lớp kế kế thừa thừa gọi gọi sau sau,,
Có Có thể thể chỉ chỉ định định phương phương thức thức khởi khởi tạo tạo lớp lớp cơ cơ sở sở
Hủy Hủy trong trong kế kế thừa thừa::
Hủy Hủy từ từ vỏ vỏ vào vào lõi lõi
Hủy Hủy lõi lõi: : phương phương thức thức hủy hủy lớp lớp kế kế thừa thừa
Hủy Hủy vỏ vỏ: : phương phương thức thức hủy hủy lớp lớp cơ cơ sở sở
Trang 16a) void main() { C a) void main() { C objobj(1, 2, 3); }(1, 2, 3); }b) void main() { C
b) void main() { C objobj(4); }(4); }c) void main() { C
c) void main() { C objobj; }; }
B(): A(0) { }B(
B(intint iXiX, , intint iYiY): A(): A(iXiX) { }) { }};
class C: public B
{ public:
C() { }C(
C(intint iZiZ) { }) { }C(
C(intint iXiX, , intint iYiY, , intint iZiZ): B(): B(iXiX, , iYiY) { }) { }};
16 Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Trang 18a) void main() { Z a) void main() { Z objobj(5); }(5); }b) void main()
Y obj2(obj1);
}}
c) void main(){{
Z obj1(7);
Z obj2(obj1);
}}
Trang 19Bài Bài tập tập 8.4: 8.4:
Hãy
Hãy vẽ vẽ cây cây kế kế thừa thừa cho cho những những lớp lớp đối đối tượng tượng hình hình học học::
((có có thể thể phát phát sinh sinh thêm thêm những những lớp lớp cơ cơ sở sở cần cần thiết thiết))
Vuông Vuông Tam Tam giác giác vuông vuông
Tròn Tròn Tam Tam giác giác cân cân
Ellipse Ellipse Tam Tam giác giác vuông vuông cân cân
Ellipse Ellipse Tam Tam giác giác vuông vuông cân cân
Chữ Chữ nhật nhật Tam Tam giác giác đều đều
Thoi Thoi
Bình Bình hành hành
Thang Thang vuông vuông
Thang Thang cân cân
Trang 20Có 2 2 loại loại rạp rạp::
Rạp Rạp thường thường: : giá giá vé vé ở ở hàng hàng ghế ghế trung trung tâm tâm là là 80000 80000.
Rạp Rạp thường thường: : giá giá vé vé ở ở hàng hàng ghế ghế trung trung tâm tâm là là 80000 80000.
Rạp Rạp cao cao cấp cấp: : giá giá vé vé ở ở hàng hàng ghế ghế trung trung tâm tâm là là 120000, 120000, ngoài ngoài ra ra rạp
rạp có có khuyến khuyến mãi mãi giảm giảm 20 20% % giá giá vé vé vào vào ngày ngày thứ thứ năm năm hàng hàng tuần tuần
20 Phương pháp lập trình hướng đối tượng - Nguyễn Minh Huy
Trang 21Bài Bài tập tập 8.5: 8.5:
Hãy
Hãy xây xây dựng dựng lớp lớp RapThuong RapThuong và và RapCaoCap RapCaoCap, , cho cho phép phép::
Khởi Khởi tạo tạo rạp rạp phim phim với với số số lương lương ghế ghế M x N M x N cho cho trước trước
Đặt Đặt vé vé tại tại một một vị vị trí trí ghế ghế nào nào đó đó
Cho Cho biết biết giá giá vé vé tại tại một một vị vị trí trí ghế ghế nào nào đó đó
Cho Cho biết biết một một vị vị trí trí ghế ghế nào nào đó đó còn còn trống trống không không Cho Cho biết biết một một vị vị trí trí ghế ghế nào nào đó đó còn còn trống trống không không Cho Cho biết biết số số ghế ghế còn còn trống trống trong trong rạp rạp
Tính Tính tổng tổng số số tiền tiền vé vé bán bán được được