intTypePromotion=1
ADSENSE

Bài giảng Kỹ thuật lập trình: Chương 5 - ThS Trần Duy Thanh

Chia sẻ: Cao Thi Ly | Ngày: | Loại File: PPTX | Số trang:34

25
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Kỹ thuật lập trình: Chương 5 - ThS Trần Duy Thanh

  1. Đạ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
  2. Đạ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)
  3. Đạ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
  4. Đạ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
  5. Đạ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
  6. Đạ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
  7. Đạ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
  8. Đạ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) { } }
  9. Đạ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.( … ); }
  10. Đạ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() {…}
  11. Đạ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.
  12. Đạ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.
  13. Đạ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
  14. Đạ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
  15. Đạ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
  16. Đạ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();
  17. Đạ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();
  18. Đạ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; } }
  19. Đạ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();
  20. Đạ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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2