Danh mục

Chương 5: Lập trình hướng đối tượng - Tính đa hình

Số trang: 9      Loại file: ppt      Dung lượng: 101.00 KB      Lượt xem: 12      Lượt tải: 0    
10.10.2023

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Kết gán sớm và kết gán muộnKhi đối tượng nhận một thông báo thực hiện mộtphương thức, hệ thống sẽ: Kiểm tra cú pháp của thông báoGắn thông báo đó với 1 định nghĩa hàm cụ thểViệc kết gán có thể xảy ra ở hai thời điểm:Lúc biên dịch chương trình - Kết gán sớmLúc chạy chương trình - Kết gán muộn
Nội dung trích xuất từ tài liệu:
Chương 5: Lập trình hướng đối tượng - Tính đa hình Lậptrìnhhướngđốitượng Lậptrìnhhướngđốitượng HàVănSang HàVănSang Bộmôn:TinhọcTC–KT KhoaHTTT, Khoa:HệThốngThôngTinKinhtếHọcViệnTàiChính Tel:0982.165.568 AcademyOfFinance,Hanoi Email:sanghv@hvtc.edu.vn Website:http://www.hvtc.edu.vn/sanghv09/26/1014:08 Lậptrìnhhướngđốitượng CHƯƠNGV HàVănSang KhoaHTTT, AcademyOfFinance,Hanoi09/26/1014:08 1.Kháiniệm Kết gán sớm và kết gán muộn Khiđốitượngnhậnmộtthôngbáothựchiệnmột phươngthức,hệthốngsẽ: Kiểmtracúphápcủathôngbáo Gắnthôngbáođóvới1địnhnghĩahàmcụthể Việckếtgáncóthểxảyraởhaithờiđiểm: •LúcbiêndịchchươngtrìnhKếtgánsớm •LúcchạychươngtrìnhKếtgánmuộnObjectOrientedPrograming–InformationSystemsDepartment 3 2.Phươngthứcảo  Định nghĩa:  Hàm ảo là hàm thành phần của lớp  Được khai báo trong lớp cơ sở và định nghĩa lại trong lớp dẫn xuất  Cú pháp virtual ([tsố])  Một số chú ý:  Định nghĩa các phương thức áo như các phương thức thông thường  Sử dụng con trỏ để truy cập tới hàm ảo  Định nghĩa trong lớp cơ sở ngay cả khi nó không được sử dụng  Không có hàm khởi tạo ảo nhưng có thể có hàm huỷ ảo  Con trỏ của lớp cơ sở có thể chứa địa chỉ của đối tượng lớp dẫn xuấtObjectOrientedPrograming–InformationSystemsDepartment 4 2.Phươngthứcảo  Cơ chế kết gán muộn:  Khi một lớp có phương thức ảo hoặc lớp cơ sở có phương thức áo  Chương trình dịch sẽ phát sinh thêm một con trỏ ảo (virtual pointer)  Con trỏ này trỏ tới một bảng ảo (Vtable)  Bảng ảo có chứa địa chỉ của các phương thức ảo  Quá trình phát sinh một đối tượng lớp dẫn xuất:  B1: xác định các thành phần ( ko ảo) kể cả cả các thành phần của lóp cơ sở  Bước 2: Xây dựng con trỏ ảo và bảng áo  Khi kết gán muộn, căn cứ vào con trỏ ảo để xác định phương thức trong bảng ảo và phương thức của lớp dẫn xuấtObjectOrientedPrograming–InformationSystemsDepartment 5 Vídụ:  Xây dựng lớp giáo viên và sinh viên kế thừa từ lớp người NGUOI { - ht,namsinh - nhap, in - loai(){returrn 0}; } SV:NGUOI { -lop,dtb -nhap, in -loai(){ return 1;} } GV:NGUOI { -hsl, dv -nhap,in -loai(){return 2;} }ObjectOrientedPrograming–InformationSystemsDepartment 6 Chúý:  Cơ chế kết gán phương thức ảo chỉ có thể thực hiện qua phép gán con trỏ hoặc tham chiếu NGUOI a,*p; GV b; a=b; a.nhap(); //kết gán sớm p=&b; pnhap(); //kết gán muộn NGUOI &q=b; qnhap(); //kết gán muộn void f(NGUOI x) { x.nhap(); //kết gán sớm} void f(NGUOI &x) { x.nhap(); //kết gán muộn }ObjectOrientedPrograming–InformationSystemsDepartment 7 3.Phươngthứcảothuầntuý  Mục đích:  Tránh lãng phí bộ nhớ  Cung cấp một phương thức thống nhất làm giao diện chung.  Khai báo: virtual ([tsố])=0;  Đặc điểm:  Không bắt buộc định nghĩa trong lớp cơ sở  Không thể khai báo đối tượng thuộc lớp có phương thức ảo thuần tuý  Lớp có phương thức ảo thuần tuý chỉ làm lớp cơ sở cho lớp khác và gọi là lớp cơ sở trừu tượng  Lớp dẫn xuất kế thừa lớp cơ sở trừu tượng mà không định nghĩa lại phương thức ảo thuần tuý  nó trở thành lớp cơ sở trừu tượngObjectOrientedPrograming–InformationSystemsDepartment 8 Quicáchnộpbài Gửi tới địa chỉ: sanghv@gmail.com CC: sanghv@hvtc.edu.vn Tiêu đề: [Lớp][BT6][Stt][Họ và tên] Ví dụ: [K43/41.01][BT3][14][Lê hoàng Vũ] Hạn nộp: 23h59’ ngày 29/01/2008ObjectOrientedPrograming–InformationSystemsDepartment 9 ...

Tài liệu được xem nhiều: