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 hướng đối tượng: Chương 4 - ĐH Ngoại ngữ - Tin học

Chia sẻ: Bautroibinhyen27 Bautroibinhyen27 | Ngày: | Loại File: PPTX | Số trang:30

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

Bài giảng "Lập trình hướng đối tượng - Chương 4: Properties" cung cấp cho người học các kiến thức: Lý do dùng properties, tạo properties, auto – Implemented properties, object Initializer. Mời các bạn cùng tham khảo nội dung chi tiết.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Lập trình hướng đối tượng: Chương 4 - ĐH Ngoại ngữ - Tin học

  1. Click to edit Master subtitle style CHƯƠNG 4: PROPERTIES Khoa Công nghệ thông tin Trường Đại học Ngoại ngữ - Tin học, TP.HCM 1
  2. NỘI DUNG • Lý do dùng properties • Tạo properties • Auto – Implemented properties • Object Initializer 2
  3. Lý do dùng properties 3
  4. Lý do dùng properties • Ví dụ: class Time { private int seconds; } – Nhu cầu: Bên ngoài lớp có thể truy cập giá trị seconds 4
  5. Lý do dùng properties • Giải pháp “cổ điển”: Tạo method trả về giá trị second và method gán giá trị cho second class { Time private int seconds; public int GetSeconds() { return seconds; } public void SetSeconds(int seconds) { this.seconds = seconds; if (this.seconds < 0) this.seconds = 0; } } 5
  6. Lý do dùng properties • Nhận xét – Nhu cầu dùng method get và set cực kỳ nhiều – Cách viết trên có một chút “cồng kềnh” class Program { public static void Main() { Time time = new Time(); int x = time.GetSeconds(); time.SetSeconds(90); } } 6
  7. Lý do dùng properties • Một cách cực kỳ “thuận lợi” nhưng không class Time ai dùng { public int seconds; } class Program { public static void Main() { Time time = new Time(); int s = time.seconds; time.seconds = 90; } } 7
  8. Tạo properties 8
  9. Tạo properties class Time class Time { { private int seconds; private int seconds; public int Seconds public int GetSeconds() { { get return seconds; { } return seconds; } public void SetSeconds(int set seconds) { { this.seconds = value; this.seconds = seconds; if (this.seconds < 0) if (this.seconds < 0) this.seconds = 0; this.seconds = 0; } } } } } 9
  10. Tạo properties • Khai báo property: có 3 phần – Từ khóa ‘public’: Ai cũng có thể dùng property – Kiểu của property – Tên property • Thân của property – get: thực thi khi ai đó đọc giá trị của property – set: thực thi khi ai đó gán giá trị cho property 10
  11. Tạo properties • Nội dung của get và set giống hàm GetSeconds và SetSeconds • Hàm SetSeconds có tham số còn set không có tham số mà dùng từ khóa value đại diện cho giá trị gán cho property 11
  12. Tạo properties class Program class Program { { public static void Main() public static void Main() { { Time time = new Time(); Time time = new Time(); time.Seconds = 90; time.SetSeconds(90); } } } } 12
  13. Tạo properties • Tóm tắt { get { … return …; } set { … } } 13
  14. Tạo properties • Backing field – Property có get hay set giá trị cho field thì field đó gọi là backing field của property – Một property không nhất thiết có backing field 14
  15. Tạo properties class Time public int Minutes { { private int seconds; get { public int Seconds return seconds/60; { } get } { return seconds; public int Hours } { set get { { seconds = value; return seconds/3600; } } } } } 15
  16. Bài tập thực hành 4.1 • Trong lớp TaiKhoan ở bài tập 3.1 thay thế các phương thức Get/Set thành các properties. Và kiểm tra tính hợp lệ trước khi thay đổi dữ liệu của field. – Sốtiền phải là số dương (Sotien > 0) 16
  17. Bài tập thực hành 4.2 • Trong lớp Sach ở bài tập 3.4 thay thế các phương thức Get/Set thành các properties. Và kiểm tính hợp lệ trước khi thay đổi dữ liệu của field. – Tên sách không được là chuỗi rỗng. – Giá sách phải là số dương. 17
  18. Bài tập thực hành 4.3 • Trong lớp SinhVien ở bài tập 3.2 thay thế các phương thức Get/Set thành các properties. Và kiểm tính hợp lệ trước khi thay đổi dữ liệu của field. – Họ tên không được là chuỗi rỗng. – Năm sinh phải là số dương. 18
  19. Bài tập thực hành 4.4 • Trong lớp Circle ở bài tập 3.3 thay thế các phương thức Get/Set thành các properties. Và kiểm tính hợp lệ trước khi thay đổi dữ liệu của field. – Bán kính phải lớn hơn không. 19
  20. Auto – implemented properties 20
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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