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
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ìnhKếtgánsớm •LúcchạychươngtrìnhKế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; pnhap(); //kết gán muộn NGUOI &q=b; qnhap(); //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 ...
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ìnhKếtgánsớm •LúcchạychươngtrìnhKế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; pnhap(); //kết gán muộn NGUOI &q=b; qnhap(); //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ìm kiếm theo từ khóa liên quan:
Lập trình hướng đối tượng Tính đa hình Giải thuật lập trình OOP with C++ Kết gán sớm kết gán muộnGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 259 0 0 -
101 trang 198 1 0
-
14 trang 131 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 111 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 95 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 92 0 0 -
265 trang 76 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 73 0 0 -
33 trang 63 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 51 0 0