1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Kế thừa (lập TRÌNH HƯỚNG đối TƯỢNG SLIDE)

23 70 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 234,76 KB

Nội dung

Bài 6: Kế thừa Khái niệm kế thừa • Kế thừa khả cho phép xây dựng lớp mới: ▫ Được thừa hưởng thành phần từ hay nhiều lớp có (lớp sở) ▫ Trong lớp ta bổ sung thêm thành phần định nghĩa lại thành phần • Ví dụ ▫ 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ố} Khái niệm kế thừa • Ví dụ 2: • Xây dựng ba lớp sau: ▫ Lớp người ▫ Lớp SinhVien ▫ Lớp GiaoVien NGƯỜI Dl: ht, ns, gt Pt: nhap(),in() SV Dl: ht, ns, gt Pt: nhap(), in(), xếp loại() GV Dl: ht, ns, gt Pt: nhap(), in(), tangluong() Khái niệm kế thừa • Kế thừa tạo mơ hình phân cấp: PS1 PS2 NGƯỜI SV GV • Lớp kế thừa: Lớp sở, lớp cha • Lớp kế thừa: Lớp dẫn xuất, lớp Khái niệm kế thừa • Các loại kế thừa: PS1 PS2 A B C • Đơn kế thừa: có lớp sở • Đa kế thừa: có nhiều lớp sở 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 lớp }; Ví dụ Ví dụ Xây dựng lớp dẫn xuất Trong đó:  Kiểu dẫn xuất là: public protected private (ngầm định)  public: tất public lớp cha public lớp  private: tất thành phần public lớp cha private lớp  Kiểu dẫn xuất mặc đinh private Xây dựng lớp dẫn xuất  Kế thừa thuộc tính:  Các thuộc tính lớp sở kế thừa lớp dẫn xuất  Trong lớp dẫn xuất không cho phép truy nhập đến thuộc tính private lớp sở  Cho phép đặt tên thuộc tính trùng  Kế thừa phương thức:  Trừ: Hàm tạo, hàm hủy, toán tử gán Quyền truy xuất (1) Quyền truy xuất lớp cha : (2) Kiểu dẫn xuất private protected public private private private private protected private protected protected public private protected public (2) (1) Quyền truy xuất lớp Các thành viên protected  Các thành viên public lớp sở  Các thành viên private lớp sở  Các thành viên protected lớp sở truy cập hàm thành viên hàm bạn lớp sở lớp dẫn xuất Xây dựng lớp dẫn xuất • Định nghĩa lại thành viên lớp sở lớp dẫn xuất: ▫ Lớp dẫn xuất định nghĩa lại hàm thành viên lớp sở (gọi ghi đè) ▫ Muốn gọi hàm lớp sở, dùng toán tử định phạm vi (::) ▫ Ví dụ: … Void SinhVien::Nhap() { Nguoi::Nhap(); cin>>nganh; } … Các thành phần không kế thừa constructors destructors friend functions overloaded new operators overloaded = operators Class friendship is not inherited Ví dụ  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 số phức a,b Tính in a+b, a*b, modul Hàm khởi tạo - Hàm khởi tạo lớp cha không kế thừa - Mỗi đối tượng lớp coi đối tượng lớp cha => gọi hàm khởi tạo lớp kéo theo gọi hàm khởi tạo lớp cha Thứ tự gọi: Hàm khởi tạo lớp cha  Hàm khởi tạo lớp Ví dụ class DIEM { private: double x, y; public: DIEM() { x = y =0.0; } DIEM(double x1, double y1) { x = x1; y = y1; } void in() { cout

Ngày đăng: 29/03/2021, 10:48

TỪ KHÓA LIÊN QUAN

w