Bài giảng Lập trình hướng đối tượng: Chương 4 - GV. Hà Văn Sang
Số trang: 26
Loại file: pdf
Dung lượng: 250.30 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Chương 4 Kế thừa thuộc bài giảng lập trình hướng đối tượng, cùng nắm kiến thức trong chương này thông qua việc tìm hiểu một số nội dung chính sau: khái niệm, xây dựng lớp dẫn xuất, quyền truy xuất, định nghĩa lại quyền truy xuất, hàm khởi tạo và hàm huỷ, đa kế thừa, lớp cơ sở ả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 4 - GV. Hà Văn Sang Lập trình hướng đối tượng Lập trình hướng đối tượng Hà Văn Sang Hà Văn Sang Bộ môn: Tin học TC – KT Khoa HTTT, Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: 0982.165.568Academy Of Finance, Hanoi Email: sanghv@hvtc.edu.vn Website: http://www.hvtc.edu.vn/sanghv 7/3/2014 8:41 AM Lập trình hướng đối tượng CHƯƠNG IV Hà Văn Sang Khoa HTTT, Academy Of Finance, Hanoi 7/3/2014 8:41 AM 1. Khái niệm Kế thừa: là khả năng cho phép xây dựng một lớp mới Được thừa hưởng các thành phần từ một hay nhiều lớp đã có (lớp cơ sở). Trong lớp ta có thể bổ sung thêm các thành phần hoặc định nghĩa lại các thành phần Ví dụ 1: Xây dựng lớp PS1 {ts, ms, nhập, in, tối giản} Lớp PS2 {ts, ms, nhập, in, tối giản, cộng, trừ, nhân chia phân số} Object Oriented Programing– Information Systems Department 3 1. Khái niệm (tiếp) Ví dụ 2: Yêu cầu xây dựng 3 lớp Lớp NGƯỜI NGƯỜI Dl: ht, ns, gt Lớp SV Pt: nhap(), in() Lớp GV SV GV Dl: ht, ns, gt Dl: ht, ns, gt Pt: nhap(), Pt: nhap(), in(), xếp loại() in(), tangluong() Object Oriented Programing– Information Systems Department 4 1. Khái niệm (tiếp) Kế thừa tạo ra mô hình phân cấp: PS1 NGƯỜI PS2 SV GV Mô hình kế thừa tạo ra một quan hệ “is a” Ví dụ: một đối tượng SV “là một” loại thuộc lớp NGƯỜI Object Oriented Programing– Information Systems Department 5 1. Khái niệm (tiếp) Các loại kế thừa: A B PS1 C PS2 Kế thừa đơn: chỉ có một lớp cơ sở Đa kế thừa: có nhiều hơn một lớp cơ sở Object Oriented Programing– Information Systems Department 6 2. Xây dựng lớp dẫn xuất Cú pháp class :[kiểu dẫn xuất] ,[kiểu dẫn xuất] ….. { // Các thành phần của lớp con }; Object Oriented Programing– Information Systems Department 7 2. Xây dựng lớp dẫn xuất Trong đó: public Kiểu dẫn xuất có thể là: protected private (ngầm định) public: tất cả các tp public của lớp cha sẽ là pubic ở lớp con private: tất cả các thành phần public của lớp cha sẽ là private ở lớp con Object Oriented Programing– Information Systems Department 8 3. Quyền truy xuất (1) Quyền truy xuất tp đó ở lớp cha : (2) Kiểu dẫn xuất (1) private protected public (2) private private private private protected private protected protected public private protected public Quyền truy xuất ở lớp con Object Oriented Programing– Information Systems Department 9 Chú ý Ví dụ: Phân số Chú ý: Có thể gán 1 đối tượng của lớp con vào một đối tượng của lớp cha PS a; PS1 b; a=b;// ok b=a; // problem bị cắt lấp đầy Khi gán, các tp thừa (ko có trong lớp cha) sẽ bị cắt tỉa và chuyển đổi kiểu lên an toàn Object Oriented Programing– Information Systems Department 10 4. Định nghĩa lại quyền truy xuất Để định nghĩa lại: Chỉ cần liệt kê thành phần đó sau từ khoá quyền truy xuất tương ứng : ::; Ví dụ: class A{ private: f1,f2; class B:A protected: f3,f4; { public: public: f5,f6; A::f6; }; }; Kết quả: f1->f5 là private, f6 là public Object Oriented Programing– Information Systems Department 11 4. Định nghĩa lại quyền truy xuất Chú ý: Khi định nghĩa lại quyền truy xuất với 1 tp thì mọi tp cùng tên cũng bị tác động Chỉ có thể định lại quyền truy xuất theo đúng quyền của tp đó trong lớp cha Nếu trong lớp cơ sở có nhiều tp cùng tên nhưng khác quyền truy xuất thì không thể định nghĩa lại Nếu lớp con có một tp cùng tên thì tp của lớp con sẽ che phủ tp lớp cha Muốn truy xuất phải viết tường minh Object Oriented Programing– Information Systems Department 12 Ví dụ: 1. Xây dựng lớp số phức Gồm: phần thực, phần ảo Phương thức: nhập, in Xây dựng lớp SP1 kế thừa lớp SP Bổ sung: +, -, * Hàm main: Nhập 2 số phức a,b. Tính và in a+b, a*b, modul Object Oriented Programing– ...
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 4 - GV. Hà Văn Sang Lập trình hướng đối tượng Lập trình hướng đối tượng Hà Văn Sang Hà Văn Sang Bộ môn: Tin học TC – KT Khoa HTTT, Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: 0982.165.568Academy Of Finance, Hanoi Email: sanghv@hvtc.edu.vn Website: http://www.hvtc.edu.vn/sanghv 7/3/2014 8:41 AM Lập trình hướng đối tượng CHƯƠNG IV Hà Văn Sang Khoa HTTT, Academy Of Finance, Hanoi 7/3/2014 8:41 AM 1. Khái niệm Kế thừa: là khả năng cho phép xây dựng một lớp mới Được thừa hưởng các thành phần từ một hay nhiều lớp đã có (lớp cơ sở). Trong lớp ta có thể bổ sung thêm các thành phần hoặc định nghĩa lại các thành phần Ví dụ 1: Xây dựng lớp PS1 {ts, ms, nhập, in, tối giản} Lớp PS2 {ts, ms, nhập, in, tối giản, cộng, trừ, nhân chia phân số} Object Oriented Programing– Information Systems Department 3 1. Khái niệm (tiếp) Ví dụ 2: Yêu cầu xây dựng 3 lớp Lớp NGƯỜI NGƯỜI Dl: ht, ns, gt Lớp SV Pt: nhap(), in() Lớp GV SV GV Dl: ht, ns, gt Dl: ht, ns, gt Pt: nhap(), Pt: nhap(), in(), xếp loại() in(), tangluong() Object Oriented Programing– Information Systems Department 4 1. Khái niệm (tiếp) Kế thừa tạo ra mô hình phân cấp: PS1 NGƯỜI PS2 SV GV Mô hình kế thừa tạo ra một quan hệ “is a” Ví dụ: một đối tượng SV “là một” loại thuộc lớp NGƯỜI Object Oriented Programing– Information Systems Department 5 1. Khái niệm (tiếp) Các loại kế thừa: A B PS1 C PS2 Kế thừa đơn: chỉ có một lớp cơ sở Đa kế thừa: có nhiều hơn một lớp cơ sở Object Oriented Programing– Information Systems Department 6 2. Xây dựng lớp dẫn xuất Cú pháp class :[kiểu dẫn xuất] ,[kiểu dẫn xuất] ….. { // Các thành phần của lớp con }; Object Oriented Programing– Information Systems Department 7 2. Xây dựng lớp dẫn xuất Trong đó: public Kiểu dẫn xuất có thể là: protected private (ngầm định) public: tất cả các tp public của lớp cha sẽ là pubic ở lớp con private: tất cả các thành phần public của lớp cha sẽ là private ở lớp con Object Oriented Programing– Information Systems Department 8 3. Quyền truy xuất (1) Quyền truy xuất tp đó ở lớp cha : (2) Kiểu dẫn xuất (1) private protected public (2) private private private private protected private protected protected public private protected public Quyền truy xuất ở lớp con Object Oriented Programing– Information Systems Department 9 Chú ý Ví dụ: Phân số Chú ý: Có thể gán 1 đối tượng của lớp con vào một đối tượng của lớp cha PS a; PS1 b; a=b;// ok b=a; // problem bị cắt lấp đầy Khi gán, các tp thừa (ko có trong lớp cha) sẽ bị cắt tỉa và chuyển đổi kiểu lên an toàn Object Oriented Programing– Information Systems Department 10 4. Định nghĩa lại quyền truy xuất Để định nghĩa lại: Chỉ cần liệt kê thành phần đó sau từ khoá quyền truy xuất tương ứng : ::; Ví dụ: class A{ private: f1,f2; class B:A protected: f3,f4; { public: public: f5,f6; A::f6; }; }; Kết quả: f1->f5 là private, f6 là public Object Oriented Programing– Information Systems Department 11 4. Định nghĩa lại quyền truy xuất Chú ý: Khi định nghĩa lại quyền truy xuất với 1 tp thì mọi tp cùng tên cũng bị tác động Chỉ có thể định lại quyền truy xuất theo đúng quyền của tp đó trong lớp cha Nếu trong lớp cơ sở có nhiều tp cùng tên nhưng khác quyền truy xuất thì không thể định nghĩa lại Nếu lớp con có một tp cùng tên thì tp của lớp con sẽ che phủ tp lớp cha Muốn truy xuất phải viết tường minh Object Oriented Programing– Information Systems Department 12 Ví dụ: 1. Xây dựng lớp số phức Gồm: phần thực, phần ảo Phương thức: nhập, in Xây dựng lớp SP1 kế thừa lớp SP Bổ sung: +, -, * Hàm main: Nhập 2 số phức a,b. Tính và in a+b, a*b, modul Object Oriented Programing– ...
Tìm kiếm theo từ khóa liên quan:
Lập trình mạng Ngôn ngữ lập trình Học lập trình C Lập trình hướng đối tượng Bài giảng lập trình hướng đối tượng Lý thuyết lập trìnhTài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 277 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 268 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 268 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 227 0 0 -
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 218 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 210 0 0 -
101 trang 200 1 0
-
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 188 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 170 0 0