
Bài giảng Kỹ thuật lập trình - Chương 5
lượt xem 7
download

Chương 5 Kế thừa và đa hình thuộc bài giảng Kỹ thuật lập trình. Cùng nắm kiến thức trong chương này thông qua việc tìm hiểu các nội dung sau: khái niệm kế thừa, khái niệm đa hình, giao diện (interface).
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
- Chương 5 Kế thừa và đa hình
- Nội dung v Khái niệm kế thừa v Khái niệm đa hình v Giao diện (interface)
- 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 § Xe máy § Xe hơi § Xe tải § Phương tiện giao thông
- Kế thừa v Ví dụ: Windows form
- 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
- 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
- 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) { } }
- 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.( … ); }
- 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() {…}
- Đ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
- Đ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
- 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; } }
- Ví dụ đa hình v HinhHoc hh = new HinhHoc(); v //TinhDienTich cua lop HinhHoc v hh.TinhDienTich(); v HinhHoc htr = new HinhTron(); v //TinhDienTich cua lop HinhTron v htr.TinhDienTich();
- 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
- Interface v Khai báo interface TenInterface { //các thành phần } v Mức truy xuất: public v Các phương thức chỉ có phần khai báo, không có phần thân
- Ví dụ interface ILamViec { string LamViec(string tenViec); }
- Ví dụ (tt) v Lớp SinhVien thực hiện interface ILamViec class SinhVien : ILamViec { public string MSSV { get; set; } public string Nganh { get; set; } public string HoTen { get; set; } public string LamViec(string tenViec) { return "Sinh Vien " + HoTen + " dang " + tenViec; } }
- Ví dụ (tt) v Lớp NhanVien thực hiện ILamViec class NhanVien : ILamViec { public string MSNV { get; set; } public string Phong { get; set; } public string HoTen { get; set; } public int HsLuong { get; set; } public virtual int Luong { get { return HsLuong * 800000; } } public string LamViec(string tenViec) { return "NhanVien " + HoTen + " dang " + tenViec; } }
- Ví dụ v Thực thi interface static void Main(string[] args) { SinhVien a = new SinhVien(); a.HoTen = "SVA"; NhanVien b = new NhanVien(); b.HoTen = "NVB"; ILamViec lv1 = a; Console.WriteLine(lv1.LamViec("hoc bai")); ILamViec lv2 = b; Console.WriteLine(lv2.LamViec("lam bao cao")); }
- Ví dụ v Kết quả

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 |
36 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 2 - Trần Quang
25 p |
41 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 3 - Trần Quang
52 p |
41 |
2
-
Bài giảng Kỹ thuật lập trình: Chương 4 - Trần Quang
32 p |
34 |
2
-
Bài giảng Kỹ thuật lập trình: Các kỹ thuật lập trình nâng cao - Trịnh Tấn Đạt (2024)
86 p |
5 |
2
-
Bài giảng Kỹ thuật lập trình: Chuỗi ký tự - Trịnh Tấn Đạt (2024)
63 p |
6 |
2
-
Bài giảng Kỹ thuật lập trình: Các phương pháp giải quyết bài toán trên máy tính - Trịnh Tấn Đạt (2024)
22 p |
7 |
1
-
Bài giảng Kỹ thuật lập trình: Giới thiệu môn học - Trịnh Tấn Đạt (2024)
32 p |
6 |
1
-
Bài giảng Kỹ thuật lập trình: Lập trình hướng đối tượng - ThS. Trần Ngọc Bảo Duy
88 p |
5 |
1
-
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 |
29 |
0
-
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 |
25 |
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 |
21 |
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 |
27 |
0
-
Bài giảng Kỹ thuật lập trình: Chuỗi ký tự - ThS. Đặng Bình Phương
20 p |
32 |
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 |
31 |
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 |
31 |
0
-
Bài giảng Kỹ thuật lập trình: Chuỗi - ThS. Trần Ngọc Bảo Duy
34 p |
2 |
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 |
36 |
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
