Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 59 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
59
Dung lượng
587,55 KB
Nội dung
Chương 09 - 1 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang Chương 9 KẾ THỪA Chương 09 - 2 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 0. MỤC TIÊU Hiểu được các loại quan hệ? Hiểu được kế thừa trong lập trình hướng đối tượng là gì? Hiểu được khái niệm cây kế thừa. Hiểu được khái niệm sơ đồ lớp. Chương 09 - 3 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 1.QUAN HỆ Người ta chia các quan hệ thành những loại như sau: Quan hệ một một (1-1) Quan hệ một nhiều (1-n) Quan hệ nhiều nhiều (m-n) Quan hệ đặt biệt hóa, tổng quát hóa. Chương 09 - 4 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 1.1. QUAN HỆ MỘT MỘT (1-1) Khái niệm: Hai lớp đối tượng được gọi là quan hệ một-một với nhau khi một đối tượng thuộc lớp này quan hệ với một đối tượng thuộc lớp kia và một đối tượng thuộc lớp kia quan hệ duy nhất với một đối tượng thuộc lớp này. Hình vẽ Trong hình vẽ trên ta nói: một đối tượng thuộc lớp A quan hệ với một đối tượng thuộc lớp B và một đối tượng lớp B quan hệ duy nhất với một đối tượng thuộc lớp A. A B Quan Hệ Chương 09 - 5 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 1.1 QUAN HỆ MỘT MỘT (1-1) Ví dụ minh họa LOPHOC GIAOVIEN Chủ nhiệm VO CHONG Hôn nhân Chương 09 - 6 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 1.2. QUAN HỆ MỘT NHIỀU (1-n) Khái niệm: Hai lớp đối tượng được gọi là quan hệ một-nhiều với nhau khi một đối tượng thuộc lớp này quan hệ với nhiều đối tượng thuộc lớp kia và một đối tượng lớp kia quan hệ duy nhất với một đối tượng thuộc lớp này. Hình vẽ Trong hình vẽ trên ta nói: một đối tượng thuộc lớp A quan hệ với nhiều đối tượng thuộc lớp B và một đối tượng lớp B quan hệ duy nhất với một đối tượng thuộc lớp A. A B Quan Hệ Chương 09 - 7 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 1.2 QUAN HỆ MỘT NHIỀU (1-n) Ví dụ minh họa: LOPHOC HOCSINH có CHA CON Huyết thống HOASI TACPHAM Sáng tác Chương 09 - 8 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 1.2 QUAN HỆ MỘT NHIỀU (1-n) Ví dụ minh họa: Chương 09 - 9 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 1.3 QUAN HỆ NHIỀU NHIỀU (m-n) Khái niệm: hai lớp đối tượng được gọi là quan hệ nhiều-nhiều với nhau khi một đối tượng thuộc lớp này quan hệ với nhiều đối tượng thuộc lớp kia và một đối tượng lớp kia cũng có quan hệ với nhiều đối tượng thuộc lớp này. Hình vẽ Trong hình vẽ trên ta nói: một đối tượng thuộc lớp A quan hệ với nhiều đối tượng thuộc lớp B và một đối tượng lớp B cũng có quan hệ với nhiều đối tượng thuộc lớp A. A B Quan Hệ Chương 09 - 10 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 1.3 QUAN HỆ NHIỀU NHIỀU (m-n) Ví dụ minh họa: NAM NỮ yêu BACSI BENHNHAN Khám bệnh [...]... QUI TẮC KẾ THỪA TRONG C++ Bảng qui tắc kế thừa trong C++ Từ khóa dẫn xuất Private Public Phạm vi lớp cơ sở Private Ghi chú: Từ khoá dẫn xuất có ba loại là private, protected, public Các sinh viên tự tìm hiểu thêm từ khoá dẫn xuất protected trong tài liệu GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 33 LTHĐT Khoa CNTT 5 QUI TẮC KẾ THỪA TRONG C++ Bảng qui tắc kế thừa trong... trong hệ thống, chương trình Ví dụ: Hãy vẽ cây kế thừa cho các lớp đối tượng sau: • Lớp XELAM Lớp XEDAP Lớp XEGANMAY • Lớp XE Lớp XEHOI Lớp XEHAIBANH • Lớp XEBONBANH Lớp XETAINHE • Lớp XEBABANH • Lớp XEXICHLO GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 16 Khoa CNTT LTHĐT 2 CÂY KẾ THỪA (tiếp) GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 17 LTHĐT... Trần Minh Khang Chương 09 - 13 LTHĐT Khoa CNTT 1.4 QUAN HỆ ĐẶT BIỆT HÓATỔNG QUÁT HOÁ Ví dụ 1: TAMGIAC TAMGIACCAN GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 14 LTHĐT Khoa CNTT 1.4 QUAN HỆ ĐẶT BIỆT HÓATỔNG QUÁT HOÁ Ví dụ 2: DONGVAT NGUOI GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang HEO Chương 09 - 15 LTHĐT Khoa CNTT 2 CÂY KẾ THỪA Khái niệm: Cây kế thừa là một cây... Tấn Trần Minh Khang Chương 09 - 31 LTHĐT Khoa CNTT 5 QUI TẮC KẾ THỪA TRONG C++ Bảng qui tắc kế thừa trong C++ Từ khóa dẫn xuất Private Public Phạm vi lớp cơ sở Private Protected Public Ghi chú: Từ khoá dẫn xuất có ba loại là private, protected, public Các sinh viên tự tìm hiểu thêm từ khoá dẫn xuất protected trong tài liệu GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 32 LTHĐT... Tấn Trần Minh Khang Chương 09 - 29 Khoa CNTT LTHĐT 4.4 TỪ KHÓA DẪN XUẤT Ví dụ 02: Khai báo lớp động vật, lớp heo và lớp người 11 class CDongVat 12 { 13 14 }; 15 class CHeo:private CDongVat 16 { 17 18 }; 19 class CNguoi:public CDongVat 20 { 21 22 }; GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 30 LTHĐT Khoa CNTT 5 QUI TẮC KẾ THỪA TRONG C++ Bảng qui tắc kế thừa trong C++ Từ... Tấn Trần Minh Khang Chương 09 - 34 LTHĐT Khoa CNTT 5 QUI TẮC KẾ THỪA TRONG C++ Bảng qui tắc kế thừa trong C++ Từ khóa dẫn xuất Private Public Phạm vi lớp cơ sở Private Protected Public Ghi chú: Từ khoá dẫn xuất có ba loại là private, protected, public Các sinh viên tự tìm hiểu thêm từ khoá dẫn xuất protected trong tài liệu GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 35 Khoa... Khang Chương 09 - 35 Khoa CNTT LTHĐT 5 QUI TẮC KẾ THỪA TRONG C++ Bảng qui tắc kế thừa trong C++ Từ khóa dẫn xuất Phạm vi lớp cơ sở Private Protected Public Ghi chú: Từ khoá dẫn xuất có ba loại là private, protected, public Các sinh viên tự tìm hiểu thêm từ khoá dẫn xuất protected trong tài liệu GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 36 ... Trần Minh Khang Chương 09 - 25 Khoa CNTT LTHĐT 4.3 PHẠM VI TRUY XUẤT 31 void main() 32 { 33 A x; 34 x.a = 10; 35 x.f(); 36 x.b = 20; 37 x.g(); 38 x.c = 30; 39 x.h(); 40 } GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 26 Khoa CNTT LTHĐT 4.4 TỪ KHÓA DẪN XUẤT 1 2 3 4 5 6 7 8 class A { }; class B: A { }; A Blớp B Trong khai báo trên ta nói kế thừa từ lớp A... Khang Chương 09 - 18 LTHĐT Khoa CNTT 3 SƠ ĐỒ LỚP GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 19 Khoa CNTT LTHĐT 4 KẾ THỪA TRONG C++ Thế giới thực Lập trình hướng đối tượng với C++ Phạm vi truy xuất Từ khoá dẫn xuất GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 20 LTHĐT Khoa CNTT 4.1 THẾ GIỚI THỰC A B Trong hình vẽ trên ta nói A và B có quan hệ đặc... Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 21 Khoa CNTT LTHĐT 4.2 LTHĐT VỚI C++ 1 2 3 4 5 6 7 8 class A { }; class B: A { }; A Blớp B Trong khai báo trên ta nói kế thừa từ lớp A Lớp đối tượng A được gọi là lớp cơ sở Lớp đối tượng B được gọi là lớp dẫn xuất từ lớp đối tượng A GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang Chương 09 - 22 Khoa CNTT LTHĐT 4.3 PHẠM . Chương 09 - 1 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang Chương 9 KẾ THỪA Chương 09 - 2 LTHĐT Khoa CNTT GV. Nguyễn Sơn. Hiểu được các loại quan hệ? Hiểu được kế thừa trong lập trình hướng đối tượng là gì? Hiểu được khái niệm cây kế thừa. Hiểu được khái niệm sơ đồ lớp. Chương 09 - 3 LTHĐT Khoa CNTT GV. Nguyễn. HOÁ Ví dụ 2: DONGVAT HEO NGUOI Chương 09 - 16 LTHĐT Khoa CNTT GV. Nguyễn Sơn Hoàng Quốc ThS. Nguyễn Tấn Trần Minh Khang 2. CÂY KẾ THỪA Khái niệm: Cây kế thừa là một cây đa nhánh thể hiện