Bài giảng Ngôn ngữ lập trình - Bài 8 - GV. Lê Nguyễn Tuấn Thành

Đăng ngày | Thể loại: | Lần tải: 0 | Lần xem: 0 | Page: 34 | FileSize: M | File type: PDF
of x

Bài giảng Ngôn ngữ lập trình - Bài 8 - GV. Lê Nguyễn Tuấn Thành. Bài giảng Ngôn ngữ lập trình - Bài 8: Đa hình và hàm ảo cung cấp cho người học các kiến thức: Đa hình (Polymorphism), cơ bản về Hàm ảo (Virtual Function), con trỏ và Hàm ảo. Mời các bạn cùng tham khảo.. Cũng như những giáo án bài giảng khác được bạn đọc chia sẽ hoặc do tìm kiếm lại và chia sẽ lại cho các bạn với mục đích nghiên cứu , chúng tôi không thu tiền từ người dùng ,nếu phát hiện tài liệu phi phạm bản quyền hoặc vi phạm pháp luật xin thông báo cho chúng tôi,Ngoài giáo án bài giảng này, bạn có thể download giáo án miễn phí phục vụ tham khảo Một số tài liệu tải về mất font không xem được, thì do máy tính bạn không hỗ trợ font củ, bạn download các font .vntime củ về cài sẽ xem được.

https://tailieumienphi.vn/doc/bai-giang-ngon-ngu-lap-trinh-bai-8-gv-le-nguyen-tuan-thanh-ucubuq.html

Nội dung


Ngôn ngữ lập trình
Bài 8:
Đa Hình và Hàm Ảo
Giảng viên: Lê Nguyễn Tuấn Thành
Email:thanhlnt@tlu.edu.vn
Bộ Môn Công Nghệ Phần Mềm – Khoa CNTT
Trường Đại Học Thủy Lợi

Nội dung
1.
2.

3.

Đa hình (Polymorphism)
Hàm ảo (Virtual function)
 Gắn kết muộn (Late binding)
 Cài đặt hàm ảo
 Khi nào sử dụng hàm ảo?
 Hàm ảo thuần (Pure Virtual Function) và
Lớp trừu tượng (Abstract Class)
Hàm ảo và Con trỏ




Mở rộng tương thích kiểu
Ép kiểu lên (Upcasting)
Ép kiểu xuống (Downcasting)

Bài giảng có sử dụng hình vẽ trong cuốn sách “Absolute C++. W. Savitch, Addison Wesley, 2002”
2

Đa hình
(Polymorphism)


Xét ví dụ: với cùng là thông điệp “nhảy”, một con
kangaroo và một con cóc sẽ nhảy hai kiểu khác nhau.






Chúng có cùng hành vi “nhảy” nhưng nội dung của hành vi này
là khác nhau

Đa hình (Polymorphism) là hiện tượng các đối tượng thuộc
các lớp khác nhau hiểu cùng một thông điệp theo các
cách khác nhau
Đa hình là một trong ba trụ cột quan trọng trong OOP

3

Hàm ảo



Hàm ảo cung cấp khả năng đa hình này
Hàm có thể được “sử dụng” trước khi thực sự được
định nghĩa

4

Ví dụ 1: Các lớp mô tả hình vẽ (1/5)
Hàm thành viên draw()


Xây dựng các lớp cho nhiều kiểu hình vẽ khác nhau



Ví dụ: Hình chữ nhật (Rectangle), hình tròn (Circle), hình oval
(Oval)…
Mỗi hình cụ thể là đối tượng của những lớp này







Dữ liệu cho hình chữ nhật:chiều cao, chiều rộng
Dữ liệu cho hình tròn: tâm, bán kính

Tất cả các lớp này đều kế thừa từ một lớp cha: Figure

Các lớp này đều có hàm draw()



Mục đích là vẽ một hình cụ thể trên màn hình
Mỗi lớp có cài đặt khác nhau tương ứng với mỗi loại hình vẽ

5

1123804

Tài liệu liên quan


Xem thêm