intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Lập trình hướng đối tượng với C++ - Chương 5

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:9

111
lượt xem
7
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'lập trình hướng đối tượng với c++ - chương 5', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Lập trình hướng đối tượng với C++ - Chương 5

  1. 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 Academy Of Finance, Hanoi Tel: 0982.165.568 Email: sanghv@hvtc.edu.vn Website: http://www.hvtc.edu.vn/sanghv 8/29/2011 9:43 PM 8/29/2011
  2. Lập trình hướng đối tượng CHƯƠNG V Hà Văn Sang Khoa HTTT, Academy Of Finance, Hanoi 8/29/2011 9:43 PM 8/29/2011
  3. 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ộn 3 Object Oriented Programing– Information Systems Department
  4. 2. Phương thức ảo 2. Phương Đị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ất 4 Object Oriented Programing– Information Systems Department
  5. 2. Phương thức ảo 2. Phương 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ất 5 Object Oriented Programing– Information Systems Department
  6. 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;} } 6 Object Oriented Programing– Information Systems Department
  7. 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 } 7 Object Oriented Programing– Information Systems Department
  8. 3. Phương thức ảo thuần tuý 3. Phương 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ượng 8 Object Oriented Programing– Information Systems Department
  9. 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/2008 9 Object Oriented Programing– Information Systems Department
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2