Bài giảng Lập trình hướng đối tượng: Chương 6 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
lượt xem 4
download
Bài giảng Lập trình hướng đối tượng: Chương 6 Đa hình, cung cấp cho người đọc những kiến thức như: Khái niệm Đa hình; Các bước xây dựng chương trình có tính đa hình; Từ khóa base; Phương thức trừu tượng (abstract method);...Mời các bạn cùng tham khảo!
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 6 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM
- CHƯƠNG 6: Click to edit Master subtitle style ĐA HÌNH Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM 1
- NỘI DUNG Khái niệm Đa hình Các bước xây dựng chương trình có tính đa hình Từ khóa ‘base’ Phương thức trừu tượng (abstract method) Từ khóa ‘new’ với phương thức 2
- 3 nguyên tắc lập trình hướng đối tượng Đóng gói (Encapsulation) và Giao diện (Interface) Ẩn chi tiết của lớp (Đóng gói), chỉ cung cấp các phương thức cần thiết để dùng (Giao diện) Thừa kế (Inheritance) Tạo lớp mới thừa kế lớp đã có Đa hình (Polymorphism) Khả năng tạo ra các lớp dẫn xuất, cài đặt cùng một method của lớp cơ sở theo những cách khác nhau (tùy từng lớp dẫn xuất) 3
- KHÁI NIỆM ĐA HÌNH 4
- Khái niệm Đa hình Đa hình (polymorphism) poly = many morphism = forms Đa hình là hiện tượng các đối tượng thuộc các lớp khác nhau có khả năng hiểu cùng một thông điệp theo các cách khác nhau hoặc nhiều kiểu tồn tại của một đối tượng 5
- Khái niệm Đa hình LandRover LandRover dùng 2.0 L object engine để move Ford dùng V engine để move Ford Move object Honda dùng i-vtec để move Honda object • Đa hình phương thức: overriding phương thức • Đa hình đối tượng: nhìn nhận đối tượng theo nhiều kiểu khác nhau 6
- Khái niệm Đa hình Phân biệt Overloading vs Overriding? Overloading (nạp chồng) phương thức: giữ tên và giá trị trả về, chỉ thay đổi đối số Overriding (ghi đè) phương thức: giữ nguyên tên, giá trị trả về và đối số (không thay đổi nguyên mẫu phương thức) 7
- Khái niệm Đa hình Đa hình phương thức Các lớp dẫn xuất cài đặt cùng một phương thức của lớp cơ sở, nhưng mỗi lớp dẫn xuất có cách cài đặt khác nhau 8
- Khái niệm Đa hình Nhờ đặc tính của thừa kế giúp: Tạo lớp mới dựa trên lớp đã có (lớp cơ sở), thừa hưởng những gì lớp cơ sở có Thêm một số Field và Method mới vào lớp mới Cài đặt lại phương thức đã được lớp cơ sở cung cấp 9
- CÁC BƯỚC XÂY DỰNG TÍNH ĐA HÌNH 10
- Các bước xây dựng tính đa hình 11
- Các bước xây dựng tính đa hình Lớp cơ sở: Lớp Car public class Car { public virtual void Move() { Console.WriteLine("Car: Move"); } } 12
- Các bước xây dựng tính đa hình Từ khóa ‘virtual’ Cho phép lớp dẫn xuất có quyền thay đổi cách phương thức này làm việc (cài đặt lại) Từ khóa này có thể dùng cho • Method • Properties • Indexers • events 13
- Các bước xây dựng tính đa hình Lớp dẫn xuất: có thể cung cấp một cách cài đặt khác của phương thức ở lớp cơ sở 14
- Các bước xây dựng tính đa hình public class LandRover : Car { public override void Move() { Console.WriteLine(“Move: LandRover (2.0 L engine)"); } } Để cài đặt lại phương thức Tạo một hàm giống như lớp cơ sở (copy) Thêm từ khóa override trước phương thức 15
- Các bước xây dựng tính đa hình Nếu trong lớp cơ sở không có từ khóa virtual trước phương thức chúng ta muốn override, thì chúng ta không thể override phương thức đó virtual: “tôi cho phép bạn làm gì khác với phương thức này” override: “bạn cho phép tôi, tôi sẽ làm một số điều khác biệt với nó” 16
- Các bước xây dựng tính đa hình Chú ý: Chúng ta không phải bắt buộc phải override các phương thức lớp cơ sở Nếu không override thì sao? 17
- Các bước xây dựng tính đa hình public class Ford : Car { public override void Move() { Console.WriteLine(“Move: Ford (V engine)"); } } public class Honda : Car { public override void Move() { Console.WriteLine(“Move: Honda (i-vtec)"); } } 18
- Các bước xây dựng tính đa hình Lớp LandRover, Ford, Honda thừa kế từ lớp Car nên có thể dùng như lớp Car Car car1 = new Car(); Car car2 = new LandRover(); Car car3 = new Ford(); Car car4 = new Honda(); 19
- Các bước xây dựng tính đa hình Chúng ta có thể gọi phương thức Move(). Tùy theo kiểu thực sự mà các cài đặt khác nhau sẽ được gọi car1.Move(); Move: Car car2.Move(); Move: LandRover (2.0 L engine) car3.Move(); Move: Ford (V engine) car4.Move(); Move: Honda (i-vtec) Press any key to continue . . . Gọi cùng phương thức (cùng signature) các phương thức khác nhau được chạy 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - TS. Trần Công Án
57 p | 89 | 13
-
Bài giảng Lập trình hướng đối tượng: Chương 2 - Nguyễn Sơn Hoàng Quốc, ThS. Nguyễn Tấn Trần Minh Khang
14 p | 174 | 12
-
Bài giảng Lập trình hướng đối tượng - Chương 1: Phương pháp lập trình hướng đối tượng
9 p | 141 | 9
-
Bài giảng Lập trình hướng đối tượng C++ - Chương 2: Lập trình hướng đối tượng
53 p | 46 | 8
-
Bài giảng Lập trình hướng đối tượng (dùng Java): Chương 1 - Trần Minh Thái (2017)
55 p | 80 | 8
-
Bài giảng Lập trình hướng đối tượng - Bài 1: Tổng quan lập trình hướng đối tượng
53 p | 120 | 8
-
Bài giảng Lập trình hướng đối tượng (Dùng C#): Chương 2 - Trần Minh Thái
35 p | 103 | 8
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Thị Anh Thi
7 p | 197 | 7
-
Bài giảng Lập trình hướng đối tượng 1: Chương 1 - ThS. Thái Kim Phụng
39 p | 101 | 7
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - ThS. Trịnh Thành Trung
53 p | 88 | 7
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Trần Minh Thái
40 p | 116 | 6
-
Bài giảng Lập trình hướng đối tượng – Bài 01: Tổng quan về OOP
47 p | 63 | 5
-
Bài giảng Lập trình hướng đối tượng (dùng JAVA): Chương 1 - Trần Minh Thái
40 p | 99 | 5
-
Bài giảng Lập trình hướng đối tượng và C++: Chương 1
15 p | 105 | 4
-
Bài giảng Lập trình hướng đối tượng: Nhập môn - Trần Phước Tuấn
15 p | 139 | 4
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Tổng quan về lập trình hướng đối tượng
47 p | 11 | 4
-
Bài giảng Lập trình hướng đối tượng: Chương 1 - Các khái niệm cơ bản trong lập trình hướng đối tượng
36 p | 16 | 3
-
Bài giảng Lập trình hướng đối tượng: Bài 1 - Nguyễn Khanh Văn
0 p | 83 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn