Bài giảng Kỹ thuật lập trình: Chương 5 - ThS Trần Duy Thanh
lượt xem 4
download
Bài giảng Kỹ thuật lập trình: Chương 5 Kế thừa và đa hình do ThS Trần Duy Thanh biên soạn cung cấp cho người học các kiến thức: khái niệm kế thừa, khái niệm đa hình, giao diện (interface),... 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 Kỹ thuật lập trình: Chương 5 - ThS Trần Duy Thanh
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Chương 5 Kế thừa và đa hình
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Nội dung v Khái niệm kế thừa v Khái niệm đa hình v Giao diện (interface)
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Kế thừa v Các đối tượng có cùng chung một số đặc điểm, hành vi được nhóm lại với nhau v Ví dụ § Xe đạp Vehicle § Xe máy § Xe hơi Car § Xe tải § Phương tiện giao thông
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Kế thừa v Ví dụ: Windows form
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Kế thừa v Ví dụ: Một lớp con có thể là lớp cha của các lớp khác Business RetailBusiness ServiceBusiness KMart Macys Kinkos
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Kế thừa v Tạo ra các lớp mới từ việc sử dụng lại những thành phần của lớp đã có v Lợi ích § Nhất quán § Thuận tiện § Tái sử dụng code
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Khai báo Kế thừa v Lớp cơ sở (base class): làm cơ sở để các lớp khác kế thừa v Lớp nhận (derived class): kế thừa đặc điểm của lớp cơ sở v Khai báo § class LopNhan : LopCoSo § Ví dụ: • class XeDap : PhuongTienGiaoThong • class XeMay : PhuongTienGiaoThong
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Constructor v Không được kế thừa v Lớp con truy cập bằng từ khóa base class HinhHoc { … public HinhHoc(double chuVi, double dienTich) { ChuVi = chuVi; DienTich = dienTich; } } class HinhTron : HinhHoc { … public HinhTron(double chuVi, double dienTich) : base(chuVi, dienTich) { } }
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Từ khóa base v Dùng để truy cập đến thành phần của lớp cơ sở v Mức truy cập: § public § protected v Khai báo class { … (list_of_argument){ } } class : { base.( … ); }
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Từ khóa new v Dùng để khai báo phương thức ở lớp nhận khi đã có phương thức cùng tên ở lớp cơ sở v Ví dụ § public new void TinhDienTich() {…}
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Overriding Methods v Trong một tập các lớp có mối quan hệ huyết thống có các phương thức giống signature y xì (nội dung phương thức khác nhau) v Overriding methods giúp lập trình viên có thể định nghĩa cách hành xử khác nhau ứng với các đối tượng khác nhau nhưng cùng sử dụng một tên phương thức. v Ví dụ: Nhân viên chính thức và Nhân viên thời vụ đều có phương thức là Tính Lương, tuy nhiên cách thức tính lương của 2 đối tượng này sẽ khác nhau.
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Overriding Methods v Ví dụ mô hình lớp NhanVien có phương thức tính lương.
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Đa hình v Lớp nhận kế thừa từ lớp cơ sở và có thêm những đặc tính riêng biệt v Từ khóa: § virtual • Khai báo trong lớp cơ sở, cho biết thành phần đó có thể được nạp chồng § override • Khai báo trong lớp nhận, cho biết thành phần đó được nạp chồng
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Đa hình v Khi tham chiếu đến đối tượng: § Nếu đối tượng là lớp cơ sở phương thức virtual của lớp cơ sở được thực hiện § Nếu đối tượng là lớp nhận phương thức override của lớp nhận được thực hiện
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Đa hình v Đa hình được tạo nên từ 2 trường hợp: ü Trường hợp 1: Từ kế thừa Holiday Holiday day; day = new Christmas(); Christmas
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Đa hình ü Trường hợp 1: Từ kế thừa StaffMember teo; teo = new Executive();
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Đa hình ü Trường hợp 2: Từ Interface Mammal thiNo; thiNo = new Woman();
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Ví dụ Đa hình class HinhHoc { … public virtual void TinhDienTich() { Console.WriteLine("Dien tich " + loaiHinh); } } class HinhTron : HinhHoc { … public override void TinhDienTich() { base.TinhDienTich(); DienTich = BanKinh * BanKinh * Math.PI; } }
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Ví dụ Đa hình vHinhHoc hh = new HinhHoc(); v//TinhDienTich cua lop HinhHoc vhh.TinhDienTich(); vHinhHoc htr = new HinhTron(); v//TinhDienTich cua lop HinhTron vhtr.TinhDienTich();
- Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Giao diện (Interface) v Interface là một giao ước, khi một lớp thực hiện inteface thì phải tuân theo đúng những gì interface đó mô tả v Thành phần § Property § Method § Event
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Quang
39 p | 11 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 9 - Trần Quang
33 p | 6 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 8 - Trần Quang
34 p | 9 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 6 - Trần Quang
37 p | 13 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang
32 p | 8 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Quang
52 p | 11 | 2
-
Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang
25 p | 12 | 2
-
Bài giảng Kỹ thuật lập trình: Hàm nâng cao (Phần 1) - ThS. Đặng Bình Phương
26 p | 0 | 0
-
Bài giảng Kỹ thuật lập trình: Các kỹ thuật thao tác trên bit - ThS. Đặng Bình Phương
29 p | 3 | 0
-
Bài giảng Kỹ thuật lập trình: Tập tin - ThS. Đặng Bình Phương
48 p | 3 | 0
-
Bài giảng Kỹ thuật lập trình: Kỹ thuật lập trình đệ quy - ThS. Đặng Bình Phương
44 p | 3 | 0
-
Bài giảng Kỹ thuật lập trình: Dữ liệu kiểu cấu trúc - ThS. Đặng Bình Phương
33 p | 2 | 0
-
Bài giảng Kỹ thuật lập trình: Chuỗi ký tự - ThS. Đặng Bình Phương
20 p | 4 | 0
-
Bài giảng Kỹ thuật lập trình: Danh sách liên kết - ThS. Đặng Bình Phương
20 p | 3 | 0
-
Bài giảng Kỹ thuật lập trình: Chuyển đổi kiểu dữ liệu và cấp phát bộ nhớ động - ThS. Đặng Bình Phương
28 p | 4 | 0
-
Bài giảng Kỹ thuật lập trình: Dữ liệu kiểu con trỏ (Nâng cao) - ThS. Đặng Bình Phương
48 p | 1 | 0
-
Bài giảng Kỹ thuật lập trình: Giới thiệu môn học - ThS. Đặng Bình Phương
7 p | 2 | 0
-
Bài giảng Kỹ thuật lập trình: Hàm nâng cao (Phần 2) - ThS. Đặng Bình Phương
30 p | 0 | 0
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