Danh mục

Bài giảng Ngôn ngữ lập trình: Bài 9 - Lý Anh Tuấn

Số trang: 35      Loại file: pdf      Dung lượng: 1.06 MB      Lượt xem: 7      Lượt tải: 0    
Thư viện của tui

Hỗ trợ phí lưu trữ khi tải xuống: 9,000 VND Tải xuống file đầy đủ (35 trang) 0
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài 9 trình bày về "Đa hình và Hàm ảo". Nội dung cụ thể của chương này gồm có: Cơ bản về hàm ảo, kết gán muộn, thi hành hàm ảo, khi nào sử dụng hàm ảo, lớp trừu tượng và hàm ảo thuần túy, con trỏ và hàm ảo, sự tương thích kiểu mở rộng, ép lên và ép xuống, chi tiết hơn về hàm ảo,...
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình: Bài 9 - Lý Anh TuấnNGÔN NGỮ LẬP TRÌNHBài 9: Đa hình và Hàm ảoGiảng viên: Lý Anh TuấnEmail: tuanla@tlu.edu.vnNội dungCơ bản về hàm ảo1.◦◦◦◦2.Kết gán muộnThi hành hàm ảoKhi nào sử dụng hàm ảoLớp trừu tượng và hàm ảo thuần túyCon trỏ và hàm ảo◦ Sự tương thích kiểu mở rộng◦ Ép lên và ép xuống◦ Chi tiết hơn về hàm ảo2Cơ bản về hàm ảoĐa hình◦ Liên kết nhiều ngữ nghĩa với một hàm◦ Hàm ảo cung cấp khả năng này◦ Là nguyên tắc cơ bản của lập trình hướng đối tượngẢo◦ Tồn tại về bản chất mặc dù trên thực tế khôngtồn tạiHàm ảo◦ Có thể được sử dụng trước khi được định nghĩa3Ví dụ hình vẽLớp của một số kiểu hình vẽ◦ Hình chữ nhật (rectangle), hình tròn (circle), hìnhovan (oval), vân vân◦ Mỗi hình vẽ là một đối tượng của các lớp khác nhau Dữ liệu hình chữ nhật: độ cao, chiều rộng, tâmđiểm Dữ liệu hình tròn: tâm điểm, bán kínhTất cả dẫn xuất từ một lớp cha: Figure Hàm cần thiết: draw()◦ Các chỉ thị khác nhau cho mỗi hình vẽ4Ví dụ hình vẽ: center()Mỗi lớp cần một hàm draw khác nhau Có thể gọi draw trong mỗi lớp:Rectangle r;Circle c;r.draw(); //Gọi hàm draw của lớp Rectanglec.draw(); // Gọi hàm draw của lớp CircleLớp cha Figure bao gồm các hàm áp dụng chotất cả các hình vẽ; chẳng hạn: center(): dichuyển hình vẽ vào tâm của màn hình◦ Xóa hình ban đầu, sau đó vẽ lại◦ Do vậy Figure::center() sẽ gọi hàm draw để vẽ lại◦ Vấn đề: Gọi hàm draw() từ lớp nào?5

Tài liệu được xem nhiều: