YOMEDIA
Bài giảng Lập trình hướng đối tượng: Chương 5 - Hà Văn Sang
Chia sẻ: Nguyễn Thị Ngọc Lựu
| Ngày:
| Loại File: PPT
| Số trang:9
60
lượt xem
5
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài giảng Lập trình hướng đối tượng cung cấp cho sinh viên những kiến thức cơ bản nhất, có tính hệ thống liên quan tới lập trình. Thông qua cuốn tài liệu này, chúng tôi muốn giới thiệu với các bạn đọc về kỹ năng lập trình cơ bản.
AMBIENT/
Chủ đề:
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 5 - 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.568 Academy Of Finance, Hanoi
Email: sanghv@hvtc.edu.vn
Website: http://www.hvtc.edu.vn/sanghv
03/27/14 02:13
- Lập trình hướng đối tượng
CHƯƠNG V
Hà Văn Sang
Khoa HTTT,
Academy Of Finance, Hanoi
03/27/14 02:13
- 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
Object 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ất
Object 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ất
Object 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ượng
Object 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/2008
Object Oriented Programing– Information Systems Department 9
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
ERROR:connection to 10.20.1.98:9315 failed (errno=111, msg=Connection refused)
Đang xử lý...