![Phân tích tư tưởng của nhân dân qua đoạn thơ: Những người vợ nhớ chồng… Những cuộc đời đã hóa sông núi ta trong Đất nước của Nguyễn Khoa Điềm](https://timtailieu.net/upload/document/136415/phan-tich-tu-tuong-cua-nhan-dan-qua-doan-tho-039-039-nhung-nguoi-vo-nho-chong-nhung-cuoc-doi-da-hoa-song-nui-ta-039-039-trong-dat-nuoc-cua-nguyen-khoa-136415.jpg)
Bài giảng Lập trình hướng đối tượng: Chương 5 - Trần Minh Thái
Số trang: 51
Loại file: pptx
Dung lượng: 278.66 KB
Lượt xem: 2
Lượt tải: 0
Xem trước 6 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 5 trang bị cho người học những hiểu biết về tính kế thừa trong lập trình hướng đối tượng. Sau khi học xong chương này, người học có thể nắm bắt được các khái niệm về kế thừa, đơn kế thừa, đa kế thừa, lớp cơ sở ảo. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 5 - Trần Minh Thái Chương 5. Tính kế thừa(Inheritance)TRẦNMINHTHÁIEmail:minhthai@itc.edu.vnWebsite:www.minhthai.edu.vn Cập nhật: 10 tháng 04 năm 2015 Nội dung#2 1. Giới thiệu 2. Khái niệm kế thừa 3. Đơn kế thừa 4. Đa kế thừa 5. Lớp cơ sở ảo Giới thiệu [1/10]#3 • Ngoài việc nhóm các đối tượng có cùng tập thuộc tính/hành vi lại với nhau, con người thường nhóm các đối tượng có cùng một số thuộc tính/ hành vi • Ví dụ: nhóm tất cả xe chạy bằng động cơ thành một nhóm, rồi phân thành các nhóm nhỏ hơn tuỳ theo loại xe (xe ô tô, xe tải,...) Giới thiệu [2/10]#4 • Mỗi nhóm con là một lớp các đối tượng tương tự, nhưng giữa các nhóm con có chung một số đặc điểm • Quan hệ giữa các nhóm con với nhóm lớn được gọi là quan hệ “là một” (is-a) Giới thiệu [3/10]#5 • Ví dụ: o Một cái xe ô tô “là một” xe động cơ o Một cái xe tải “là một” xe động cơ o Một cái xe máy “là một” xe động cơ Dùng cấu trúc hướng đối tượng để định nghĩa quan hệ “là một” Giới thiệu [4/10]#6 • Các đối tượng được nhóm lại thành một lớp thì có cùng tập thuộc tính và hành vi • Mọi đối tượng xe động cơ có cùng tập thuộc tính và hành vi Mọi đối tượng xe tải có cùng tập thuộc tính và hành vi Giới thiệu [5/10]#7 • Mối liên kết giữa các lớp trong quan hệ “là một” xuất phát từ thực tế rằng các lớp con cũng có mọi thuộc tính/ hành vi của lớp cha, và cộng thêm các thuộc tính/ hành vi khác Giới thiệu [6/10]#8 • Lớp cha – superclass (hoặc lớp cơ sở - base class) • Lớp tổng quát hơn trong mối quan hệ “là một” • Các đối tượng thuộc lớp cha có cùng tập thuộc tính và hành vi Giới thiệu [7/10]#9 • Lớp con – subclass (hoặc lớp dẫn xuất – derived class) • Lớp cụ thể hơn trong một quan hệ “là một” • Các đối tượng thuộc lớp con có cùng tập thuộc tính và hành vi (do kế thừa từ lớp cha), kèm thêm tập thuộc tính và hành vi của riêng lớp con Giới thiệu [8/10]#10 • Quan hệ “là một” còn gọi là sự kế thừa (inheritance) • Ta nói rằng lớp con “kế thừa từ” lớp cha, hoặc lớp con “được dẫn xuất từ” lớp cha Kế thừa là quá trình tạo nên lớp mới bằng cách dẫn xuất từ lớp cũ Giới thiệu [9/10]#11 • Ưu điểm của việc kế thừa • Tiết kiệm thời gian và công sức • Tái sử dụng lại những lớp có sẵn • Giảm lượng code phải thiết kế, viết, kiểm tra • Tránh trùng lắp code • Rút ngắn thời gian giúp LTV tập trung vào mục tiêu • Giúp phân loại và thiết kế lớp dễ dàng, dễ quản lý Giới thiệu [10/10]#12 • Phân loại • Đơn kế thừa (single inheritance): chỉ có một lớp cha • Đa kế thừa (multiple inheritance): có nhiều lớp cha Sơ đồ quan hệ đối tượng [1/3] (Object Relationship Diagram – ORD)#13 • Thể hiện • Sự khác nhau giữa lớp cơ sở và lớp dẫn xuất • Sự khác nhau giữa các lớp dẫn xuất Sơ đồ quan hệ đối tượng [2/3]#14Biểu diễn các thành phần:§ private: thêm dấu trừ phía trước tên§ public: thêm dấu cộng phía trước tên Sơ đồ quan hệ đối tượng [3/3]#15 • Đối với những lớp dẫn xuất, chỉ cần liệt kê các thuộc tính/ hành vi mà lớp cơ sở không có § Đơngiảnhoásơđồ § Nhấn mạnh các điểm khácbiệt Cây kế thừa [1/2]#16 • Các quan hệ kế thừa luôn được biểu diễn với các lớp dẫn xuất đặt dưới lớp cơ sở để nhấn mạnh bản chất phả hệ của quan hệ Cây kế thừa [2/2] #17 Kế thừa phần lớn các thành viên dữ liệu và phương thức của lớp cơ(ngoại sở trừ constructor, destructor)Lớp dẫnxuất Có thể bổ sung thêm các thành viên dữ liệu mới và các phương thức mới Lớp cơ sở trực tiếp Class A Lớp cơ sở Class B Lớp cơ sở gián tiếp Class C Kế thừa vs Quan hệ khác#18 • Đây là quan hệ không dựa trên kế thừa • Mối quan hệ này gọi là quan hệ “có một” (has-a) cũng được gọi là quan hệ bao gộp (aggregation) Đơn kế thừa [1/2]#19• Cú pháp class derived_class_name : type_of_inheritance base_class_name { member_list }; • type_of_inheritance là public, protected hoặc private. Mặc định là private. • Từ khoá truy xuất của thuộc tính: public, private, protected. Đơn kế thừa [2/2]#20 Thuộctínhtruyxuất Kiểukếthừa thànhviêncủalớp cơsở public protected private public trong lớp protected trong private trong public dẫnxuất lớpdẫnxuất lớpdẫnxuất protected trong protected trong private trong protected lớpdẫnxuất lớpdẫnxuất lớpdẫnxuất Dấu trong lớp Dấu trong lớp Dấu trong private dẫnxuất dẫnxuất lớpdẫnxuất public protected private ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 5 - Trần Minh Thái Chương 5. Tính kế thừa(Inheritance)TRẦNMINHTHÁIEmail:minhthai@itc.edu.vnWebsite:www.minhthai.edu.vn Cập nhật: 10 tháng 04 năm 2015 Nội dung#2 1. Giới thiệu 2. Khái niệm kế thừa 3. Đơn kế thừa 4. Đa kế thừa 5. Lớp cơ sở ảo Giới thiệu [1/10]#3 • Ngoài việc nhóm các đối tượng có cùng tập thuộc tính/hành vi lại với nhau, con người thường nhóm các đối tượng có cùng một số thuộc tính/ hành vi • Ví dụ: nhóm tất cả xe chạy bằng động cơ thành một nhóm, rồi phân thành các nhóm nhỏ hơn tuỳ theo loại xe (xe ô tô, xe tải,...) Giới thiệu [2/10]#4 • Mỗi nhóm con là một lớp các đối tượng tương tự, nhưng giữa các nhóm con có chung một số đặc điểm • Quan hệ giữa các nhóm con với nhóm lớn được gọi là quan hệ “là một” (is-a) Giới thiệu [3/10]#5 • Ví dụ: o Một cái xe ô tô “là một” xe động cơ o Một cái xe tải “là một” xe động cơ o Một cái xe máy “là một” xe động cơ Dùng cấu trúc hướng đối tượng để định nghĩa quan hệ “là một” Giới thiệu [4/10]#6 • Các đối tượng được nhóm lại thành một lớp thì có cùng tập thuộc tính và hành vi • Mọi đối tượng xe động cơ có cùng tập thuộc tính và hành vi Mọi đối tượng xe tải có cùng tập thuộc tính và hành vi Giới thiệu [5/10]#7 • Mối liên kết giữa các lớp trong quan hệ “là một” xuất phát từ thực tế rằng các lớp con cũng có mọi thuộc tính/ hành vi của lớp cha, và cộng thêm các thuộc tính/ hành vi khác Giới thiệu [6/10]#8 • Lớp cha – superclass (hoặc lớp cơ sở - base class) • Lớp tổng quát hơn trong mối quan hệ “là một” • Các đối tượng thuộc lớp cha có cùng tập thuộc tính và hành vi Giới thiệu [7/10]#9 • Lớp con – subclass (hoặc lớp dẫn xuất – derived class) • Lớp cụ thể hơn trong một quan hệ “là một” • Các đối tượng thuộc lớp con có cùng tập thuộc tính và hành vi (do kế thừa từ lớp cha), kèm thêm tập thuộc tính và hành vi của riêng lớp con Giới thiệu [8/10]#10 • Quan hệ “là một” còn gọi là sự kế thừa (inheritance) • Ta nói rằng lớp con “kế thừa từ” lớp cha, hoặc lớp con “được dẫn xuất từ” lớp cha Kế thừa là quá trình tạo nên lớp mới bằng cách dẫn xuất từ lớp cũ Giới thiệu [9/10]#11 • Ưu điểm của việc kế thừa • Tiết kiệm thời gian và công sức • Tái sử dụng lại những lớp có sẵn • Giảm lượng code phải thiết kế, viết, kiểm tra • Tránh trùng lắp code • Rút ngắn thời gian giúp LTV tập trung vào mục tiêu • Giúp phân loại và thiết kế lớp dễ dàng, dễ quản lý Giới thiệu [10/10]#12 • Phân loại • Đơn kế thừa (single inheritance): chỉ có một lớp cha • Đa kế thừa (multiple inheritance): có nhiều lớp cha Sơ đồ quan hệ đối tượng [1/3] (Object Relationship Diagram – ORD)#13 • Thể hiện • Sự khác nhau giữa lớp cơ sở và lớp dẫn xuất • Sự khác nhau giữa các lớp dẫn xuất Sơ đồ quan hệ đối tượng [2/3]#14Biểu diễn các thành phần:§ private: thêm dấu trừ phía trước tên§ public: thêm dấu cộng phía trước tên Sơ đồ quan hệ đối tượng [3/3]#15 • Đối với những lớp dẫn xuất, chỉ cần liệt kê các thuộc tính/ hành vi mà lớp cơ sở không có § Đơngiảnhoásơđồ § Nhấn mạnh các điểm khácbiệt Cây kế thừa [1/2]#16 • Các quan hệ kế thừa luôn được biểu diễn với các lớp dẫn xuất đặt dưới lớp cơ sở để nhấn mạnh bản chất phả hệ của quan hệ Cây kế thừa [2/2] #17 Kế thừa phần lớn các thành viên dữ liệu và phương thức của lớp cơ(ngoại sở trừ constructor, destructor)Lớp dẫnxuất Có thể bổ sung thêm các thành viên dữ liệu mới và các phương thức mới Lớp cơ sở trực tiếp Class A Lớp cơ sở Class B Lớp cơ sở gián tiếp Class C Kế thừa vs Quan hệ khác#18 • Đây là quan hệ không dựa trên kế thừa • Mối quan hệ này gọi là quan hệ “có một” (has-a) cũng được gọi là quan hệ bao gộp (aggregation) Đơn kế thừa [1/2]#19• Cú pháp class derived_class_name : type_of_inheritance base_class_name { member_list }; • type_of_inheritance là public, protected hoặc private. Mặc định là private. • Từ khoá truy xuất của thuộc tính: public, private, protected. Đơn kế thừa [2/2]#20 Thuộctínhtruyxuất Kiểukếthừa thànhviêncủalớp cơsở public protected private public trong lớp protected trong private trong public dẫnxuất lớpdẫnxuất lớpdẫnxuất protected trong protected trong private trong protected lớpdẫnxuất lớpdẫnxuất lớpdẫnxuất Dấu trong lớp Dấu trong lớp Dấu trong private dẫnxuất dẫnxuất lớpdẫnxuất public protected private ...
Tìm kiếm theo từ khóa liên quan:
Lập trình hướng đối tượng Bài giảng Lập trình hướng đối tượng Tính kế thừa Đơn kế thừa Đa kế thừa Lớp cơ sở ảoTài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 282 0 0 -
101 trang 205 1 0
-
14 trang 137 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 122 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 98 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 98 0 0 -
265 trang 89 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 79 0 0 -
33 trang 72 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 52 0 0