Bài giảng Lập trình hướng đối tượng: Đa hình

pdf
Số trang Bài giảng Lập trình hướng đối tượng: Đa hình 35 Cỡ tệp Bài giảng Lập trình hướng đối tượng: Đa hình 2 MB Lượt tải Bài giảng Lập trình hướng đối tượng: Đa hình 2 Lượt đọc Bài giảng Lập trình hướng đối tượng: Đa hình 21
Đánh giá Bài giảng Lập trình hướng đối tượng: Đa hình
4.2 ( 15 lượt)
Nhấn vào bên dưới để tải tài liệu
Đang xem trước 10 trên tổng 35 trang, để tải xuống xem đầy đủ hãy nhấn vào bên trên
Chủ đề liên quan

Nội dung

Đa hình v 2.3 - 09/2018 Lê Viết Mẫn - lvman@hce.edu.vn 1 Đa hình các bạn đã có thể... cài đặt mô hình Lê Viết Mẫn - lvman@hce.edu.vn bằng C# 2 Đa hình chúng ta sẽ học... Vehicle move() Vehicle veh [ 3 ] = { Train(“TGV”), Car(“twingo”), Ship(“Titanic”) }; Train for (int i = 0; i < 3; i++) { veh[ i ].move(); } move() move() { on the road } { on rails } Lê Viết Mẫn - lvman@hce.edu.vn Car 3 Ship move() { on water } Đa hình Nội dung 1. Nhắc lại về thừa kế 2. Đa hình 3. Lớp cơ sở trừu tượng 4. Một số vấn đề khác Lê Viết Mẫn - lvman@hce.edu.vn 4 Đa hình Nhắc lại về thừa kế Lê Viết Mẫn - lvman@hce.edu.vn 5 Đa hình Thừa kế • • Là khả năng lớp con thừa kế từ lớp cha tất cả những thành phần dữ liệu, thuộc tính và hàm thành phần của lớp cha • Ngoại trừ: cấu tử, hủy tử, toán tử = Cú pháp: class Student : HCEPerson { // Khai báo của lớp Student } • • Khai báo và định nghĩa lớp cơ sở như bình thường Toán tử truy xuất • • private : chỉ cho phép truy xuất bên trong lớp, KHÔNG bao gồm các lớp con protected : chỉ cho phép truy xuất bên trong lớp và cả từ các lớp con của nó Lê Viết Mẫn - lvman@hce.edu.vn 6 Đa hình Lớp con Trong phần định nghĩa cấu tử • Chứa lời gọi đến cấu tử của lớp cha (lớp cơ sở) HCEPerson.cs Student.cs • Lê Viết Mẫn - lvman@hce.edu.vn 7 Đa hình Lớp con • Có thể định nghĩa lại các hàm thành phần của lớp cha HCEPerson.cs Student.cs Lê Viết Mẫn - lvman@hce.edu.vn 8 Đa hình Sử dụng HCEPerson binh = new HCEPerson(901289, "Hoang Van Binh", "1 Le Loi"); Student an = new Student(971232, "Nguyen Van An", "100 Phung Hung", 43, 2); binh.displayProfile(); Program.cs binh = an; // chuyển đổi kiểu ngầm định, ngược lại phải viết tường minh binh.displayProfile(); Class c1 = new Class(“HTTT4253”); // trình biên dịch sẽ báo lỗi, vì không tồn tại hàm addClassTaken() trong lớp HCEPerson binh.addClassTaken(c1); [Name : Hoang Van Binh; ID : 901289; Address : 1 Le Loi] [Name : Nguyen Van An; ID : 971232; Address : 100 Phung Hung] • • Kiểu khai báo và kiểu hiện thời Điều này không hợp lý • • Bởi vì nó không phù hợp với kiểu hiện thời mà nó đang nhận Giải pháp cho điều này sẽ tạo ra kỹ thuật đa hình Lê Viết Mẫn - lvman@hce.edu.vn 9 Đa hình Đa hình Lê Viết Mẫn - lvman@hce.edu.vn 10 Đa hình
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.