Bài giảng Lập trình hướng đối tượng - Chương 6: Đa xạ - Nguyễn Sơn Tùng

Đại Học Quốc Gia Tp. Hồ Chí Minh  
Trường ĐH Khoa Học Tự Nhiên  
Khoa Công Nghệ Thông Tin  
LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG  
CHƯƠNG 6  
ĐA XẠ  
ThS: Phạm Nguyễn Sơn Tùng  
Email: pnstung@fit.hcmus.edu.vn  
Định nghĩa Đa Xạ  
Từ khóa Virtual  
Abstract Class  
1
2
3
4
Overloading & Overriding  
Demo bài tập ứng dụng tại lớp  
5
2
10/21/2019  
C06: Đa Xạ  
➢ Tí nh đóng gó i (encapsulation): Một đối tượng luô n  
luô n được bảo mật thô ng tin với người sử dụng. Tá c  
động của bên ngoài khô ng ảnh hưởng đến đối tượng.  
➢ Tí nh kế thừa (inheritance): Giúp cho việc tá i sử dụng  
lại một đối tượng sẵn có mà khô ng cần phải định  
nghĩa lại.  
3
10/21/2019  
C06: Đa Xạ  
➢ Định nghĩa: Đa xạ hay cò n gọi là đa hì nh tên tiếng anh  
Polymorphism, với một phương thức cùng tên ở nhiều  
lớp con khá c nhau, lớp cơ sở sẽ hiểu được là lớp dẫn  
xuất nào đang gọi để thi hành phương thức của lớp dẫn  
xuất đó.  
4
10/21/2019  
C06: Đa Xạ  
5
➢ Vấn đề gặp phải khi thay đổi.  
• Cá c phương thức của lớp CCongTy sẽ thay đổi (void Nhap(),  
void Xuat(), float tinhLuong() → Làm sao để hiểu nhâ n viên đó là  
loại nào để truy cập đúng lớp nhâ n viên đó để thao tá c.  
6
➢ Virtual: Là từ khó a nằm trước phương thức, khi một  
phương thức có từ khó a virtual nằm trước thì ta gọi là  
“phương thức ảo”.  
➢ Phương thức ảo: là phương thức chỉ có ở lớp cơ  
sở cá c lớp dẫn xuất có thể có hoặc khô ng, nếu có thì  
khi khai bá o sử dụng, nó sẽ sử dụng của chí nh nó .  
Nếu khô ng có phương thức ảo của lớp cha sẽ được  
sử dụng.  
7
10/21/2019  
C06: Đa Xạ  
➢ Phương thức ảo dùng để làm gì : Dùng để lớp cơ sở  
(cha) điều hướng phương thức đó về đúng lớp dẫn  
xuất (con) mà phương thức đó thuộc về.  
8
10/21/2019  
C06: Đa Xạ  
➢ Cú phá p:  
virtual <kiểu trả về> <tên phương thức >(<d/s tham số>)  
➢ Ví dụ:  
9
10/21/2019  
C06: Đa Xạ  
➢ Một phương thức khi có từ khó a Virtual Method()=0 thì  
ta gọi là “phương thức thuần ảo”.  
➢ Phương thức thuần ảo (pure Virtual): là phương thức  
chỉ có ở lớp cở sở, khô ng bắt buộc lớp cơ sở phải  
định nghĩa. Nhưng ở lớp dẫn xuất bắt buộc phải có  
phương thức cùng tên với phương thức ảo của lớp cơ  
sở.  
10  
10/21/2019  
C06: Đa Xạ  
➢ Phương thức thuần ảo dùng để làm gì : Có tá c dụng  
tương tự như phương thức ảo, tiết kiệm cô ng sức khi  
khô ng cần định nghĩa trong lớp cha.  
➢ Cú phá p:  
virtual <kiểu trả về> <tên phương thức >(<d/s tham số>)=0  
➢ Ví dụ:  
11  
10/21/2019  
C06: Đa Xạ  
➢ Lưu ý: Khi một lớp đã có một phương thức thuần ảo,  
thì lớp đó sẽ trở thành lớp trừu tượng (Abstract class)  
12  
10/21/2019  
C06: Đa Xạ  
➢ Lưu ý: Một lớp trừu tượng không được khai báo bình  
thường mà phải khai báo dạng con trỏ.  
13  
10/21/2019  
C06: Đa Xạ  
14  
10/21/2019  
C06: Đa Xạ  
➢ Overloading tức là tạo ra nhiều phương thức ở lớp  
cơ sở, có cùng tên nhưng khá c nhau về danh sá ch  
tham số đầu vào (argument).  
➢ Tá c dụng: Tăng khả năng sử dụng phương thức của  
lớp. Trì nh biên dịch sẽ dựa vào tham số được truyền  
vào phương thức mà quyết định xem sẽ gọi phương  
thức nào trong danh sá ch phương thức overloading.  
15  
10/21/2019  
C06: Đa Xạ  
Một phương thức có thể có nhiều tham số đầu vào:  
16  
10/21/2019  
C06: Đa Xạ  
➢ Ví dụ:  
17  
10/21/2019  
C06: Đa Xạ  
➢ Overriding là tạo ra một phương thức trong lớp dẫn  
xuất có cùng loại với một phương thức trong lớp cơ  
sở. Và lớp dẫn xuất sẽ định nghĩa lại phương thức đó  
cho riêng mì nh.  
➢ Tá c dụng: Lớp dẫn xuất mong muốn ghi đè lại  
phương thức của lớp cha để sử dụng riêng cho mì nh.  
18  
10/21/2019  
C06: Đa Xạ  
➢ Ví dụ:  
CNhanVien  
CNVCongNhat  
19  
10/21/2019  
C06: Đa Xạ  
➢ Đặc điểm:  
▪ Phương thức overriding và được overriding phải  
có chung kiểu trả về, tên phương thức và danh  
sá ch tham số.  
▪ Overriding chỉ xảy ra giữa cá c lớp có quan hệ kế  
thừa.  
20  
10/21/2019  
C06: Đa Xạ  
Tải về để xem bản đầy đủ
pdf 24 trang myanh 25883 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình hướng đối tượng - Chương 6: Đa xạ - Nguyễn Sơn Tùng", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_lap_trinh_huong_doi_tuong_chuong_6_da_xa_nguyen_so.pdf