Bài giảng Lập trình hướng đối tượng: Chương 5 - GV. Hà Văn Sang
Thông tin tài liệu:
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Chương 5 - GV. Hà Văn Sang Lập trình hướng đối tượng Lập trình hướng đối tượng Hà Văn Sang Hà Văn Sang Bộ môn: Tin học TC – KT Khoa HTTT, Khoa: Hệ Thống Thông Tin Kinh tế - Học Viện Tài Chính Tel: 0982.165.568Academy Of Finance, Hanoi Email: sanghv@hvtc.edu.vn Website: http://www.hvtc.edu.vn/sanghv7/3/2014 8:41 AM Lập trình hướng đối tượng CHƯƠNG V Hà Văn Sang Khoa HTTT, Academy Of Finance, Hanoi7/3/2014 8:41 AM 1. Khái niệm Kết gán sớm và kết gán muộn Khi đối tượng nhận một thông báo thực hiện một phươ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ể 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ớm •Lúc chạy chương trình Kết gán muộnObject Oriented Programing– Information Systems Department 3 2. Phương thứ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ấtObject Oriented Programing– Information Systems Department 4 2. Phương thứ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ấtObject Oriented Programing– Information Systems Department 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;} }Object Oriented Programing– Information Systems Department 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 }Object Oriented Programing– Information Systems Department 7 3. Phương thức ảo thuần tuý 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ượngObject Oriented Programing– Information Systems Department 8 Qui cách nộp bà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/2008Object Oriented Programing– Information Systems Department 9 ...
Tìm kiếm theo từ khóa liên quan:
Học lập trình C Ngôn ngữ lập trình Lập trình hướng đối tượng Bài giảng lập trình hướng đối tượng Tính đa hình Lý thuyết lập trìnhTài liệu cùng danh mục:
-
Tìm hiểu về lỗi tràn bộ đệm (Buffer Overflow)
5 trang 364 0 0 -
Giáo trình Cấu trúc dữ liệu và thuật toán trên C++
74 trang 344 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 7 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
16 trang 335 0 0 -
180 trang 274 0 0
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 253 0 0 -
173 trang 248 2 0
-
Bài giảng Phân tích thiết kế và giải thuật - Chương 2: Kỹ thuật thiết kế giải thuật
80 trang 244 0 0 -
Kiến thức phần cứng máy tính - Sửa chữa nâng cấp và cài đặt máy tính xách tay Tập 2
483 trang 243 3 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 242 0 0 -
Bài giảng Phân tích thiết kế phần mềm: Chương 6 - Trường ĐH Ngoại ngữ - Tin học TP.HCM
12 trang 240 0 0
Tài liệu mới:
-
Sáng kiến kinh nghiệm THCS: Một vài giải pháp quan trọng nhằm nâng cao chất lượng phục vụ bạn đọc
20 trang 0 0 0 -
Đề thi học kì 1 môn KHTN lớp 6 năm 2024-2025 có đáp án - Trường THCS Nguyễn Trãi, Núi Thành
14 trang 0 0 0 -
52 trang 0 0 0
-
7 trang 0 0 0
-
11 trang 0 0 0
-
54 trang 0 0 0
-
Đề thi học kì 2 môn GDCD lớp 6 năm 2023-2024 - Trường TH&THCS Đại Sơn, Đại Lộc
2 trang 0 0 0 -
7 trang 0 0 0
-
Đánh giá kết quả điều trị đục thể thủy tinh nhân cứng bằng phẫu thuật phaco
5 trang 0 0 0 -
Nghiên cứu đặc điểm lâm sàng và kết quả điều trị glôcôm thứ phát do đục thể thủy tinh căng phồng
5 trang 2 0 0