![](images/graphics/blank.gif)
Bài giảng Kỹ thuật lập trình: Chương 5 - ThS Trần Duy Thanh
lượt xem 4
download
![](https://tailieu.vn/static/b2013az/templates/version1/default/images/down16x21.png)
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
![](images/graphics/blank.gif)
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Kỹ thuật lập trình - Phạm Thế Bảo
0 p |
222 |
32
-
Bài giảng Kỹ thuật lập trình: Chương I - Lưu Hồng Việt
48 p |
198 |
23
-
Bài giảng Kỹ thuật lập trình: Chương IV - Lưu Hồng Việt
32 p |
154 |
17
-
Bài giảng Kỹ thuật lập trình: Chương V - Lưu Hồng Việt
19 p |
135 |
15
-
Bài giảng Kỹ thuật lập trình: Chương III - Lưu Hồng Việt
51 p |
153 |
15
-
Bài giảng Kỹ thuật lập trình: Chương VI - Lưu Hồng Việt
27 p |
135 |
11
-
Bài giảng Kỹ thuật lập trình - Bài 1: Tổng quan về kỹ thuật lập trình
65 p |
178 |
8
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Minh Thái, Phạm Đức Thành
107 p |
97 |
8
-
Bài giảng Kỹ thuật lập trình: Bài 1 - Phạm Đình Sắc
9 p |
135 |
7
-
Bài giảng Kỹ thuật lập trình nâng cao: Chương 4 - ThS. Dương Thành Phết
26 p |
97 |
7
-
Bài giảng Kỹ thuật lập trình: Bài 1 - ThS. Trịnh Thành Trung
49 p |
62 |
6
-
Bài giảng Kỹ thuật lập trình: Chương 1 - Trần Minh Thái, Phạm Đức Thành
50 p |
119 |
6
-
Bài giảng Kỹ thuật lập trình: Bài 2 - Phạm Đình Sắc
7 p |
119 |
5
-
Bài giảng Kỹ thuật lập trình: Chương 1 - TS. Vũ Hương Giang
27 p |
20 |
4
-
Bài giảng Kỹ thuật lập trình: Chương 1 - TS. Vũ Thị Hương Giang
27 p |
34 |
4
-
Bài giảng Kỹ thuật lập trình - Chương 10: Tổng kết môn học (Trường Đại học Bách khoa Hà Nội)
67 p |
17 |
4
-
Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan về kỹ thuật lập trình
45 p |
57 |
3
-
Bài giảng Kỹ thuật lập trình - Chương 1: Tổng quan về kỹ thuật lập trình (Trường Đại học Bách khoa Hà Nội)
46 p |
19 |
3
![](images/icons/closefanbox.gif)
![](images/icons/closefanbox.gif)
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
![](https://tailieu.vn/static/b2013az/templates/version1/default/js/fancybox2/source/ajax_loader.gif)