Bài tập thực hành c++ 4

Chia sẻ bởi Đặng Anh Tuấn | Ngày 29/04/2019 | 55

Chia sẻ tài liệu: bài tập thực hành c++ 4 thuộc Tin học 9

Nội dung tài liệu:

Chương 4: Thừa kế
Nội dung chính
Thừa kế là gì?
Cài đặt thừa kế
Đa thừa kế
1. Thừa kế là gì?
C++ cho phép tạo ra một lớp mới từ các lớp đã tồn tại.
Lớp B kế thừa lớp A, có nghĩa là lớp B sẽ có các thuộc tính và phương thức của A, ngoại trừ các thành phần private.
Lớp B được gọi là lớp con hay lớp dẫn xuất.
Lớp A được gọi là lớp cha hay lớp cơ sở.
Một số kiểu thừa kế
Một số kiểu thừa kế
Một số kiểu thừa kế
2. Cài đặt thừa kế
Cú pháp khai báo lớp dẫn xuất từ một lớp cơ sở như sau:
class lớp_dẫn_xuất : mức truy nhập lớp_cơ_ sở
Ví dụ: thừa kế
Lớp Salary thừa kế hai phương thức ShowData() và Salary().
Trong lớp Salary cả hai phương thức này đều có mức truy nhập là protected.
Trong hàm tạo của lớp dẫn xuất có thể gọi đến hàm tạo của lớp cơ sở.
Gán đối tượng của lớp cơ sở bằng lớp dẫn xuất
Sau phép gán, các thành phần chung của hai đối tượng sẽ có giá trị như nhau.
Gán đối tượng của lớp dẫn xuất bằng lớp cơ sở
Chú ý: phải chồng toán tử =
3. Đa thừa kế
Lớp B sẽ có hai bản sao của tất cả các thành phần từ lớp X.
Khi gọi đến một trong những thành phần này từ lớp B, chương trình dịch sẽ thông báo lỗi.
Giải quyết xung đột
Gọi tường minh
Ví dụ lớp X có phương thức x được thừa kế
Lời gọi x từ một đối tượng của lớp B
B b;
b.A1 :: x;
b.A2 :: x;
Sử dụng lớp cơ sở ảo
Lớp cơ sở ảo
Lớp cơ sở ảo đảm bảo trong lớp dẫn xuất chỉ tạo ra một bản sao của các thành phần được thừa kế từ lớp cơ sở.
Lớp cơ sở ảo
Hàm tạo của lớp cơ sở chỉ được gọi trong hàm tạo của lớp dẫn xuất trực tiếp từ nó.
Hàm tạo của lớp cơ sở ảo thì được gọi ở tất cả các lớp dẫn xuất nó.
Quy tắc như sau:
Hàm tạo của lớp cơ sở ảo được gọi đầu tiên
Tiếp theo đó là hàm tạo của các lớp dẫn xuất trực tiếp

* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Đặng Anh Tuấn
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)