intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Lập trình nâng cao: Bài 4 - Lý Anh Tuấn

Chia sẻ: Minh Vũ | Ngày: | Loại File: PDF | Số trang:48

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

Bài giảng "Ngôn ngữ lập trình nâng cao" cung cấp cho người học các kiến thức: Kế thừa lớp đối tượng, tính đa hình, cài đặt giao diện. Đây là một tài liệu hữu ích dành cho các bạn sinh viên ngành Công nghệ thông tin và những ai quan tâm dùng làm tài liệu học tập và nghiên cứu.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình nâng cao: Bài 4 - Lý Anh Tuấn

  1. Object-Oriented Programming Using C# NGÔN NGỮ LẬP TRÌNH NÂNG CAO Ver. 1.0 Slide 1 of 25
  2. Object-Oriented Programming Using C# Nội dung Kế thừa lớp đối tượng Tính đa hình Cài đặt giao diện Ver. 1.0 Slide 2 of 25
  3. Object-Oriented Programming Using C# Kế thừa lớp đối tượng • Khái niệm về tính kế thừa • Thiết kế lớp kế thừa • Thiết lập và hủy trong kế thừa Ver. 1.0 Slide 3 of 25
  4. Object-Oriented Programming Using C# Đặt vấn đề Giả sử đã xây dựng lớp CDate hoàn chỉnh  Cần xây dựng ứng dụng tính tiền lãi của một ngân hàng thành lập ngày 15/2/2007  Cần xây dựng ứng dụng quản lý sinh viên có thuộc tính ngày tháng năm sinh (sinh viên phải từ 17 tuổi trở lên) Cần có cơ chế cho phép khai báo lớp CDate mới là lớp CDate cũ với 1 số các sửa đổi bổ sung. Ver. 1.0 Slide 4 of 25
  5. Object-Oriented Programming Using C# Đặt vấn đề Tương tự với chương trình đánh cờ caro, cờ tướng trên máy tính. Mỗi quân cờ được xem như 1 điểm ký tự (CDiemKT) nhưng mỗi quân cờ có những đặc điểm khác nhau. Do vậy cần sử dụng lớp CDiemKT bổ sung và sửa đổi một số phần thay cho việc xây dựng lại từ đầu. Ver. 1.0 Slide 5 of 25
  6. Object-Oriented Programming Using C# Khái niệm Kế thừa cho phép khai báo 1 lớp B là 1 lớp dẫn xuất từ lớp A. Khi đó B sẽ có tất cả các thuộc tính và đặc điểm của A, ngoài ra B có thể có thêm những thuộc tính và những hành động mới. Ver. 1.0 Slide 6 of 25
  7. Object-Oriented Programming Using C# Khái niệm  Kế thừa thể hiện khả năng tái sử dụng các lớp đã được định nghĩa.  Có thể định nghĩa lớp đối tượng mới dựa trên 1 hay nhiều lớp đối tượng đã có sẵn.  Lớp có sẵn được gọi là lớp cơ sở (based class) và lớp kế thừa được gọi là lớp dẫn xuất (derived class) Ver. 1.0 Slide 7 of 25
  8. Object-Oriented Programming Using C# Khái niệm C A B * * * * - - *- - - *- +*+++*+* * *- - * - - * +*+++*+ A B * tính chất chung - tính chất của A -------- +++++++ + tính chất của B -- +++ Ver. 1.0 Slide 8 of 25
  9. Object-Oriented Programming Using C# Ký hiệu A • A: Là trường hợp tổng quát của B • B: Là trường hợp đặc biệt của A B  A: Là trường hợp tổng quát A của B và C  B, C: Là trường hợp đặc biệt của A B C Ver. 1.0 Slide 9 of 25
  10. Object-Oriented Programming Using C# VD: Lớp ngày cho ngân hàng và sinh viên CDate CDateNH CDateSV Ver. 1.0 Slide 10 of 25
  11. Object-Oriented Programming Using C# Khai báo class TênLớpCha { Thuộc tính và phương thức của lớp cha } class TênLớpDẫnXuất : TênLớpCha { Thuộc tính và phương thức bổ sung của lớp dẫn xuất } Ver. 1.0 Slide 11 of 25
  12. Object-Oriented Programming Using C# Khai báo Có 2 cách để định nghĩa hành động bổ sung cho phương thức đã có sẵn ở lớp cha trong lớp dẫn xuất (phương thức lớp dẫn xuất trùng tên với phương thức lớp cha) • Dùng từ khóa new • Dùng từ khóa virtual và override Ver. 1.0 Slide 12 of 25
  13. Object-Oriented Programming Using C# Khai báo – Dùng từ khóa new class COSO class DANXUAT : COSO { { protected kiểu data1; private kiểu data3; protected kiểu data2; public new void Method1() public void Method1() {} {} public void Method4() public void Method2() {} {} } } Ver. 1.0 Slide 13 of 25
  14. Object-Oriented Programming Using C# Khai báo – Dùng virtual & override class COSO class DANXUAT : COSO { { protected kiểu data1; private kiểu data3; protected kiểu data2; public override void Method1() public virtual void Method1() {} {} public void Method4() public virtual void Method2() {} {} } } Ver. 1.0 Slide 14 of 25
  15. Object-Oriented Programming Using C# Ví dụ Viết chương trình nhập xuất nhân viên, biết rằng có 2 loại nhân viên: Nhân viên biên chế và nhân viên hợp đồng. Thông tin của nhân viên gồm: Mã số, Họ tên. • Nhân viên biên chế có thông tin riêng là bậc lương. • Nhân viên hợp đồng có thông tin riêng là số giờ làm. Ver. 1.0 Slide 15 of 25
  16. Object-Oriented Programming Using C# Ví dụ Ta có cây kế thừa sau: CNHANVIEN CBIENCHE CHOPDONG Ver. 1.0 Slide 16 of 25
  17. Object-Oriented Programming Using C# Ví dụ - dùng từ khóa new class CNHANVIEN { protected int maso; protected string hoten; public void Nhap() { Console.Write("Nhap ma so nhan vien: "); maso = int.Parse(Console.ReadLine()); Console.Write("Nhap ho ten nhan vien: "); hoten = Console.ReadLine(); } public void Xuat() { Console.WriteLine("Ma so: {0}\nHo ten: {1}", maso, hoten); } } Ver. 1.0 Slide 17 of 25
  18. Object-Oriented Programming Using C# Ví dụ - dùng từ khóa new class CBIENCHE : CNHANVIEN { private float hesoluong; public new void Nhap() { base.Nhap(); Console.Write("Nhap he so luong: "); hesoluong = float.Parse(Console.ReadLine()); } public new void Xuat() { base.Xuat(); Console.WriteLine("He so luong: " + hesoluong); } } Ver. 1.0 Slide 18 of 25
  19. Object-Oriented Programming Using C# Ví dụ - dùng từ khóa new class CHOPDONG : CNHANVIEN { private float sogio; public new void Nhap() { base.Nhap(); Console.Write("Nhap so gio lam viec: "); sogio = float.Parse(Console.ReadLine()); } public new void Xuat() { base.Xuat(); Console.WriteLine("So gio lam viec: " + sogio); } } Ver. 1.0 Slide 19 of 25
  20. Object-Oriented Programming Using C# Ví dụ - dùng virtual & override class CNHANVIEN { protected int maso; protected string hoten; public virtual void Nhap() { Console.Write("Nhap ma so nhan vien: "); maso = int.Parse(Console.ReadLine()); Console.Write("Nhap ho ten nhan vien: "); hoten = Console.ReadLine(); } public virtual void Xuat() { Console.WriteLine("Ma so: {0}\nHo ten: {1}", maso, hoten); } } Ver. 1.0 Slide 20 of 25
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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