Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 52 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
52
Dung lượng
7,77 MB
Nội dung
ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong Số tiết lý thuyết: 45 tiết Số tiết thực hành: 30 tiết http://sites.google.com/site/khaiphong Nội dung môn học: Chương 1: Tổng quan OOP Chương 2: Lớp & đối tƣợng Chương 3: Hàm hàm đa OOP Chương 4: Đa hóa toán tử Chương 5: Sự kế thừa tính đa hình http://sites.google.com/site/khaiphong Chương 4: Sự kế thừa tính đa hình Khái niệm kế thừa Kế thừa đơn Đa kế thừa Tính đa hình kế thừa Chương 4: Sự kế thừa tính đa hình Khái niệm kế thừa Khái niệm Ví dụ Ƣu điểm Thành phần kế thừa Phân loại http://sites.google.com/site/khaiphong Khái niệm: Kế thừa OOP tái sử dụng lớp có đặc tính chung với để tạo lớp từ hay nhiều lớp có Ví dụ: Xét chất: NV_VANPHONG NV_SANXUAT nhân viên nên phải có thuộc tính chung: MaNV, Hoten, CMND ngƣởi nhân viên Chương 4: Sự kế thừa tính đa hình http://sites.google.com/site/khaiphong NHANVIEN MaNV Hoten CMND Nhap() Xuat() Tinhluong() KẾ THỪA NHÂN VIÊN NV_VANPHONG LCB Phucap MaNV Hoten CMND Nhap() Xuat() Tinhluong() NV_SANXUAT Sogiolam SoSP MaNV Hoten CMND Nhap() Xuat() Tinhluong() Chương 4: Sự kế thừa tính đa hình Khái niệm kế thừa Khái niệm Ví dụ Ƣu điểm Thành phần kế thừa Phân loại http://sites.google.com/site/khaiphong Ƣu điểm: Tái sử dụng chƣơng trình có Cho phép tạo thƣ việc lớp (là tập hợp liệu hàm đƣợc đóng gói thành lớp, ví dụ: thƣ viện math.h, string.h…) Thành phần kế thừa: Lớp kế thừa kế thừa: Thành phần liệu không thuộc private lớp đƣợc kế thừa Đƣợc quyền truy xuất hàm thành viên không thuộc private lớp đƣợc kế thừa Chương 4: Sự kế thừa tính đa hình Khái niệm kế thừa Khái niệm Ví dụ Ƣu điểm Thành phần kế thừa Phân loại http://sites.google.com/site/khaiphong Phân loại: Kế thừa đơn: Lớp A Lớp Lớp A Lớp Lớp B Lớp dẫn xuất Lớp B Lớp dẫn xuất từ A Lớp C Lớp dẫn xuất từ B Đa kế thừa: Lớp A Lớp B Lớp C Lớp A Lớp A Lớp B Lớp C Lớp D http://sites.google.com/site/khaiphong Chương 4: Sự kế thừa tính đa hình Khái niệm kế thừa Kế thừa đơn Đa kế thừa Tính đa hình kế thừa Chương 4: Sự kế thừa tính đa hình Kế http://sites.google.com/site/khaiphong thừa đơn Khái niệm Khái niệm: Kế thừa đơn tiến trình tạo lớp Phân loại từ lớp có Cú pháp Phân loại: Kiểu kế thừa Lớp A Lớp Lớp A Lớp Ví dụ Lớp dẫn xuất Đặc điểm Lớp B Lớp dẫn xuất Lớp B từ A Lớp dẫn xuất từ B Kế thừa đơn cấp Kế thừa đơn nhiều cấp (đa tầng) Lưu ý: kế thừa đơn nhiều cấp ta cần phân biệt lớp trực tiếp (Lớp A) lớp gián tiếp (lớp B) => Lớp trực tiếp: lớp có tên khai báo lớp dẫn xuất Lớp C Chương 4: Sự kế thừa tính đa hình Kế http://sites.google.com/site/khaiphong thừa đơn Khái niệm Cú pháp: class Coban{ Phân loại … Cú pháp }; class Danxuat: Coban{ Kiểu kế thừa … Ví dụ }; Trong đó: Đặc điểm : public,protected private Lưu ý: từ khoá định mặc định kiểu kế thừa private Ví dụ: class HINH{ private: int mau; }; class HCN:public HINH{ private: int dai,rong; }; 10 ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong 38 ĐH CÔNG NGHỆ THÔNG TIN http://sites.google.com/site/khaiphong 39 Bài tập trắc nghiệm http://sites.google.com/site/khaiphong Câu 1: Cho biết kết đoạn chương trình sau: class a{ public: void fun(){ cout[...]... trong lớp có chứa các đối tượng là thành viên dữ liệu của lớp thì nó sẽ đƣợc khởi tạo tiếp theo Gọi hàm khởi tạo của lớp dẫn xuất Trình tự gọi hàm huỷ: Hàm hủy đƣợc gọi theo trình tự ngƣợc lại: Hàm hủy của lớp dẫn xuất Hàm hủy của các đối tƣợng Hàm hủy của lớp cơ bản Ví dụ: 24 Chương 4: Sự kế thừa và tính đa hình http://sites.google.com/site/khaiphong Ví dụ 1: trình tự gọi hàm khởi... hàm: virtual Tên_hàm(DS _đối số); Lưu ý: • Hàm ảo khi chỉ có khai báo mà không có định nghĩa ngay trong lớp thì đƣợc gọi là hàm thuần ảo (pure virtual) Cú pháp khai báo như sau: virtual Tên_hàm(DS _đối số) = 0; • Một lớp nếu có chứa hàm thuần ảo thì đƣợc gọi là lớp trừu tượng (abstract class) Lớp trừu tƣợng là lớp không thể tạo ra đối tƣợng 35 Chương 4: Sự kế thừa và tính đa hình... hàm>(…) Con trỏ trong kế thừa: Con trỏ lớp cơ bản có thể trỏ tới địa chỉ đối tƣợng của lớp dẫn xuất nhƣng ngược lại thì không Đối tƣợng lớp dẫn xuất đƣợc xem nhƣ là một đối tƣợng của lớp cơ bản khi xử lý qua con trỏ nhƣng ngược lại thì không 16 Chương 4: Sự kế thừa và tính đa hình http://sites.google.com/site/khaiphong Ví dụ trình tự gọi hàm khởi tạo và hàm huỷ trong kế thừa đơn: class base{ public:... } A B C Huy C Huy B Huy A class C: public A, public B{ public: C(){cout ...http://sites.google.com/site/khaiphong Nội dung môn học: Chương 1: Tổng quan OOP Chương 2: Lớp & đối tƣợng Chương 3: Hàm hàm đa OOP Chương 4: Đa hóa toán tử Chương 5: Sự kế thừa tính đa... xuất hiện: A =5 B=10 Màn hình xuất hiện: B=10 Chƣơng trình báo lỗi Màn hình xuất hiện: A =5 47 Bài tập trắc nghiệm http://sites.google.com/site/khaiphong Câu 9: Cho biết kết đoạn chương trình sau:... gọi lớp trừu tượng (abstract class) Lớp trừu tƣợng lớp tạo đối tƣợng 35 Chương 4: Sự kế thừa tính đa hình http://sites.google.com/site/khaiphong Ví dụ 1: Cho biết kết chƣơng trình sau class