Danh mục

Chapter 5: Tính đa hình

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

Hỗ trợ phí lưu trữ khi tải xuống: 1,000 VND Tải xuống file đầy đủ (9 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Khi đố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áo. Gắn thông báo đó với 1 định nghĩa hàm cụ thể
Nội dung trích xuất từ tài liệu:
Chapter 5: 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/sanghv10/25/0920:5810/25/09 Lậptrìnhhướngđốitượng CHƯƠNGV HàVănSang KhoaHTTT, AcademyOfFinance,Hanoi10/25/0920:5810/25/09 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: