Bài giảng Kỹ thuật lập trình: Chương 5 – ĐH Kinh tế Luật

34 27 0
Bài giảng Kỹ thuật lập trình: Chương 5 – ĐH Kinh tế Luật

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Bài giảng Kỹ thuật lập trình nâng cao Chương 5: Kế thừa và đa hình 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 nội dung chi tiết.

Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Chương Kế thừa đa hình Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Nội dung Khái niệm kế thừa Khái niệm đa hình Giao diện (interface) Khoa Hệ Thống Thơng Tin Đạ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 Các đối tượng có chung số đặc điểm, hành vi nhóm lại với Ví dụ Vehicle  Xe đạp  Xe máy  Xe 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 Kế thừa Ví dụ: Windows form Khoa Hệ Thống Thông Tin Đạ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í dụ: Một lớp lớp cha lớp khác Business RetailBusiness KMart Macys ServiceBusiness 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 Tạo lớp từ việc sử dụng lại thành phần lớp có 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 Lớp sở (base class): làm sở để lớp khác kế thừa Lớp nhận (derived class): kế thừa đặc điểm lớp sở 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 Constructor Không kế thừa Lớp truy cập 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) { } } Khoa Hệ Thống Thông Tin Đạ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 Dùng để truy cập đến thành phần lớp sở Mức truy cập:  public  protected 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 Dùng để khai báo phương thức lớp nhận có phương thức tên lớp sở 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 Giao diện (Interface) Interface giao ước, lớp thực inteface phải tn theo interface mơ tả Thành phần  Property  Method  Event Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Interface Khai báo interface TenInterface { //các thành phần } Mức truy xuất: public Các phương thức có phần khai báo, khơng có phần thân Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Ví dụ interface ILamViec { string LamViec(string tenViec); } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Ví dụ(tt) Lớp SinhVien thực interface ILamViec class SinhVien { public public public : ILamViec string MSSV { get; set; } string Nganh { get; set; } string HoTen { get; set; } public string LamViec(string tenViec) { return "Sinh Vien " + HoTen + " dang " + tenViec; } } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Ví dụ(tt) Lớp NhanVien thực 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; } } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Ví dụ(tt) 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")); } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Ví dụ(tt) Kết Khoa Hệ Thống Thơng Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Interface Interface kế thừa Một lớp thực nhiều interface Khi thực interface, lớp phải thực đầy đủ thành phần interface mơ tả Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Ví dụ Interface IQuanTri interface IQuanTri { string GiaoViec(string tenViec, string tenNguoiNhan); } class SinhVien : ILamViec, IQuanTri { //… thành phần khác public string GiaoViec(string tenViec, string nguoiNhan) { return "Sinh vien " + HoTen + " dang giao viec " + tenViec + " cho " + nguoiNhan; } } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng Tin Ví dụ Lớp QuanLy kế thừa NhanVien, thực IQuanTri class QuanLy : NhanVien, IQuanTri { public string LamViec(string tenViec) { return "Quan ly " + HoTen + " dang " + tenViec; } public string GiaoViec(string tenViec, string nguoiNhan) { return "Quan ly " + HoTen + " dang giao viec " + tenViec + " cho " + nguoiNhan; } } Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Ví dụ Thực thi giao diện IQuanTri SinhVien a = new SinhVien(); a.HoTen = "SVA"; NhanVien b = new NhanVien(); b.HoTen = "NVB"; QuanLy c = new QuanLy(); c.HoTen = "QLC"; IQuanTri qt1 = a; Console.WriteLine(qt1.GiaoViec("truc nhat", "SVB")); IQuanTri qt2 = c; Console.WriteLine(qt2.GiaoViec("dat hang", b.HoTen)); Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Ví dụ Kết Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Kiểm tra thực Interface Từ khóa is  True đối tượng thực interface  False đối tượng không thực interface kt = a is IQuanTri; //kt =true kt = b is IQuanTri; //kt =false Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Kiểm tra thực Interface Từ khóa as  Thực chuyển đổi sang interface  Nếu đối tượng không thực interface  null IQuanTri qt3 = a as IQuanTri; IQuanTri qt4 = b as IQuanTri; //null Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thông Tin END ... Quốc Gia TP.HCM Đại Học Kinh Tế Luật Nội dung Khái niệm kế thừa Khái niệm đa hình Giao diện (interface) Khoa Hệ Thống Thông Tin Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Khoa Hệ Thống Thơng... giao thông Đại Học Quốc Gia TP.HCM Đại Học Kinh Tế Luật Kế thừa Ví dụ: Windows form Khoa Hệ Thống Thông Tin Đạ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í dụ:... Học Kinh Tế Luật Khoa Hệ Thống Thông Tin Kế thừa Tạo lớp từ việc sử dụng lại thành phần lớp có 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

Ngày đăng: 16/07/2020, 11:05

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan