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 đủ
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:
bai_giang_lap_trinh_huong_doi_tuong_chuong_6_da_xa_nguyen_so.pdf

