lập trình hướng đối tượng nguyễn tấn trần minh khang lthdt 09 kế thừa sinhvienzone com

59 60 0
lập trình hướng đối tượng nguyễn tấn trần minh khang lthdt 09 kế thừa sinhvienzone com

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

LTHĐT Khoa CNTT Chương KẾ THỪA GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT MỤC TIÊU  Hiểu loại quan hệ?  Hiểu kế thừa lập trình hướng đối tượng gì?  Hiểu khái niệm kế thừa  Hiểu khái niệm sơ đồ lớp GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT 1.QUAN HỆ Người ta chia quan hệ thành loại sau:  Quan hệ một (1-1)  Quan hệ nhiều (1-n)  Quan hệ nhiều nhiều (m-n)  Quan hệ đặt biệt hóa, tổng qt hóa GV Nguyễn Sơn Hồng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT 1.1 QUAN HỆ MỘT MỘT (1-1)  Khái niệm: Hai lớp đối tượng gọi quan hệ một-một với đối tượng thuộc lớp quan hệ với đối tượng thuộc lớp đối tượng thuộc lớp quan hệ với đối tượng thuộc lớp  Hình vẽ A  Quan Hệ B Trong hình vẽ ta nói: đối tượng thuộc lớp A quan hệ với đối tượng thuộc lớp B đối tượng lớp B quan hệ với đối tượng thuộc lớp A GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT 1.1 QUAN HỆ MỘT MỘT (1-1)  Ví dụ minh họa LOPHOC VO Chủ nhiệm Hơn nhân GV Nguyễn Sơn Hồng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com GIAOVIEN CHONG Chương 09 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT 1.2 QUAN HỆ MỘT NHIỀU (1-n)  Khái niệm: Hai lớp đối tượng gọi quan hệ một-nhiều với đối tượng thuộc lớp quan hệ với nhiều đối tượng thuộc lớp đối tượng lớp quan hệ với đối tượng thuộc lớp  Hình vẽ A  Quan Hệ B Trong hình vẽ ta nói: đối tượng thuộc lớp A quan hệ với nhiều đối tượng thuộc lớp B đối tượng lớp B quan hệ với đối tượng thuộc lớp A GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT 1.2 QUAN HỆ MỘT NHIỀU (1-n)  Ví dụ minh họa: LOPHOC CHA HOASI có HOCSINH Huyết thống Sáng tác GV Nguyễn Sơn Hồng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com CON TACPHAM Chương 09 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT 1.2 QUAN HỆ MỘT NHIỀU (1-n)  Ví dụ minh họa: GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT 1.3 QUAN HỆ NHIỀU NHIỀU (m-n)  Khái niệm: hai lớp đối tượng gọi quan hệ nhiều-nhiều với đối tượng thuộc lớp quan hệ với nhiều đối tượng thuộc lớp đối tượng lớp có quan hệ với nhiều đối tượng thuộc lớp  Hình vẽ A  Quan Hệ B Trong hình vẽ ta nói: đối tượng thuộc lớp A quan hệ với nhiều đối tượng thuộc lớp B đối tượng lớp B có quan hệ với nhiều đối tượng thuộc lớp A GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - https://fb.com/tailieudientucntt LTHĐT Khoa CNTT 1.3 QUAN HỆ NHIỀU NHIỀU (m-n)  Ví dụ minh họa: NAM BACSI yêu NỮ Khám bệnh BENHNHAN GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 10 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT QUI TẮC KẾ THỪA TRONG C++  Các thuộc tính phương thức khai báo phạm vi public lớp sở dẫn xuất từ khóa private thuộc tính phương thức hiểu lớp dẫn xuất thành phần private lớp dẫn xuất  Các thuộc tính phương thức khai báo phạm vi public lớp sở dẫn xuất từ khóa public thuộc tính phương thức hiểu lớp dẫn xuất thành phần public lớp dẫn xuất GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 45 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT QUI TẮC KẾ THỪA TRONG C++  Bảng qui tắc kế thừa C++ Từ khóa dẫn xuất Private Public Private (1) (2) Protected (3) (4) Public (5) (6) Phạm vi lớp sở GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 46 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT QUI TẮC KẾ THỪA TRONG C++  Bảng qui tắc kế thừa C++ (1) (2) (3) (4) (5) (6) GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 47 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT QUI TẮC KẾ THỪA TRONG C++  Bảng qui tắc kế thừa C++ GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 48 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT QUI TẮC KẾ THỪA TRONG C++  Bảng qui tắc kế thừa C++ GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 49 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT CÂY KẾ THỪA CHI TIẾT  Qui tắc vẽ kế thừa chi tiết:  Các thuộc tính phương thức thuộc phạm vi private vẽ với màu xanh bên trái  Các thuộc tính phương thức thuộc phạm vi protected vẽ với màu xanh bên phải  Các thuộc tính phương thức thuộc phạm vi public vẽ với màu đỏ bên phải  Các thuộc tính phương thức có kế thừa vẽ nét đứt không liên tục  Các thuộc tính phương thức thân lớp vẽ nét liền liên tục GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 50 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT CÂY KẾ THỪA CHI TIẾT b a f() g() A c h() public B GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com t aa() b g() z xy() c h() Chương 09 - 51 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT CÂY KẾ THỪA CHI TIẾT a f() x ab() A y g() x public t h() B public x uv() k mn() p ab() y g() C q xyz() z p ab() g() abc(int) GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com ab() k mn() y Chương 09 - 52 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT TỐN TỬ GÁN TRONG KẾ THỪA  Ví dụ dẫn nhập 01: Hãy cho biết chương trình câu lệnh câu lệnh sai: 11 class A 12.{ 13 14.}; 15.class B:public 16.{ 17 18.}; 19.void main() 20.{ 21 A a; 22 B b; 23 a = b; 24 b = a; 25.} A GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 53 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT TỐN TỬ GÁN TRONG KẾ THỪA Ví dụ dẫn nhập 02: Hãy cho biết đoạn chương trình câu lệnh đúng, câu lệnh sai:  class A { }; class B: { }; void main() 10.{ 11 A *a; 12 B *b; 13 A x; 14 B y; 15 a = &x; 16 17 18 19.} public A GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com b = &y; a = &y; b = &x; Chương 09 - 54 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT TOÁN TỬ GÁN TRONG KẾ THỪA  Toán tử gán kế thừa thực theo nguyên tắc: trường hợp đặt biệt gán cho trường hợp tổng quát, trường hợp tổng qt khơng thể gán cho trường hợp đặt biệt  Qui tắc áp dụng cho tất ngơn ngữ hỗ trợ lập trình hướng đối tượng C++, Java, VB.NET, C#, Python, GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 55 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT TOÁN TỬ GÁN TRONG KẾ THỪA  Áp dụng qui tắc cho ngơn ngữ lập trình hướng đối tượng C++ ta nói sau: đối tượng thuộc lớp dẫn xuất gán cho đối tượng thuộc lớp sở Điều ngược lại sai, nghĩa đối tượng thuộc lớp sở không quyền gán cho đối tượng thuộc lớp dẫn xuất GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 56 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT TỐN TỬ GÁN TRONG KẾ THỪA  Ví dụ dẫn nhập 01: Hãy cho biết chương trình câu lệnh câu lệnh sai: 11 class A 12.{ 13 14.}; 15.class B:public 16.{ 17 18.}; 19.void main() 20.{ 21 A a; 22 B b; 23 a = b; 24 b = a; 25.} A GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 57 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT TOÁN TỬ GÁN TRONG KẾ THỪA  Mở rộng qui tắc cho trỏ đối tượng ta nói sau: trỏ đối tượng thuộc lớp sở giữ địa đối tượng thuộc lớp dẫn xuất Ngược lai, trỏ đối tượng thuộc lớp dẫn xuất giữ địa đối tượng thuộc lớp sở GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 58 https://fb.com/tailieudientucntt LTHĐT Khoa CNTT TOÁN TỬ GÁN TRONG KẾ THỪA Hãy cho biết đoạn chương trình câu lệnh đúng, câu lệnh sai: 11 class A 12.{ 13.}; 14.class B:public A 15.{ 16.}; 17.void main() 18.{ 19 A *a; 20 B *b; 21 A x; 22 B y; 23 a = &x; 24 b = &y; 25 a = &y; 26 b = &x; 27.}  GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - 59 https://fb.com/tailieudientucntt ... hệ?  Hiểu kế thừa lập trình hướng đối tượng gì?  Hiểu khái niệm kế thừa  Hiểu khái niệm sơ đồ lớp GV Nguyễn Sơn Hoàng Quốc ThS Nguyễn Tấn Trần Minh Khang CuuDuongThanCong.com Chương 09 - https://fb.com/tailieudientucntt... lớp B kế thừa từ lớp A Lớp đối tượng A gọi lớp sở Lớp đối tượng B gọi 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 CuuDuongThanCong.com Chương 09 - 22... lớp B kế thừa từ lớp A Lớp đối tượng A gọi lớp sở Lớp đối tượng B gọi 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 CuuDuongThanCong.com Chương 09 - 27

Ngày đăng: 30/01/2020, 21:17

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan