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
Số trang: 30
Loại file: pdf
Dung lượng: 268.56 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
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!
Nội dung trích xuất từ tài liệu:
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 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 NỘI DUNG Lý do dùng properties Tạo properties Auto – Implemented properties Object Initializer 2 LÝ DO DÙNG PROPERTIES 3 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 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 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 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 TẠO PROPERTIES 8 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 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 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 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 Tạo properties Tóm tắt { get { … return …; } set { … } } 13 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 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 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í ...
Nội dung trích xuất từ tài liệu:
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 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 NỘI DUNG Lý do dùng properties Tạo properties Auto – Implemented properties Object Initializer 2 LÝ DO DÙNG PROPERTIES 3 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 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 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 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 TẠO PROPERTIES 8 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 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 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 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 Tạo properties Tóm tắt { get { … return …; } set { … } } 13 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 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 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í ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Lập trình hướng đối tượng Lập trình hướng đối tượng Object Initializer Khai báo property Backing fieldTài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 282 0 0 -
101 trang 205 1 0
-
14 trang 137 0 0
-
Giáo trình lập trình hướng đối tượng - Lê Thị Mỹ Hạnh ĐH Đà Nẵng
165 trang 122 0 0 -
Giáo trình Lập trình Windows 1 - Trường CĐN Đà Lạt
117 trang 98 0 0 -
Giáo trình Phân tích, thiết kế hướng đối tượng với UML: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
111 trang 98 0 0 -
265 trang 89 0 0
-
Giáo trình Lập trình hướng đối tượng với Java: Phần 2 - Trần Thị Minh Châu, Nguyễn Việt Hà
141 trang 79 0 0 -
33 trang 72 0 0
-
Ngôn ngữ lập trình C# 2005 - Tập 3: Lập trình hướng đối tượng (Phần 1)
196 trang 52 0 0