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 - Trường Đại học Ngoại ngữ - Tin học, TP.HCM

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

9
lượt xem
4
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 đọc những kiến thức như: Lý do dùng properties; Tạo properties; Auto – Implemented properties; Object Initializer. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

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

  1. CHƯƠNG 4: Click to edit Master subtitle style 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 ai dùng class Time { public int seconds; } class Program { public static void Main() { Time time = new Time(); int s = time.seconds; time.seconds = 90; } } C# cung cấp 1 giải pháp cho vấn đề này là Property 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 seconds) set { { this.seconds = seconds; this.seconds = value; 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. Địa chỉ không được là chuỗi rỗ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
4=>1