Class & Object (tt)Thiết kế và cài đặt lớp & đối tượng1 1OOP in C# - GV:
Số trang: 8
Loại file: pdf
Dung lượng: 988.67 KB
Lượt xem: 18
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Tham khảo sách 'class & object (tt)thiết kế và cài đặt lớp & đối tượng1 1oop in c# - gv:', kỹ thuật - công nghệ, điện - điện tử phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả
Nội dung trích xuất từ tài liệu:
Class & Object (tt)Thiết kế và cài đặt lớp & đối tượng1 1OOP in C# - GV: Class & Object (tt) Thiết kế và cài đặt lớp & đối tượng OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 1 1 8. Tham chiếu this Khi Khi một đối tượng đang thực thi một phương thức (không phải là phương thức tĩnh), tham chiếu this tự động trỏ đến đối tượng này. Có Có 3 trường hợp sử dụng tham chiếu this: Tránh Tránh xung đột tên khi tham số của phương thức trùng tên với tên biến dữ liệu của Object Dùng Dùng truyền đối tượng hiện tại làm tham số cho một phương thức khác (VD gọi đệ qui) Dùng Dùng với mục đích chỉ mục (Index) OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 2 1 Vd: this Xem thêm vd trang 25-26 public class Point { private int x,y; public Point(int ox, int oy) { this.x = ox; // tương đương x = ox; this.y = oy; // tương đương y = oy; } } // Giả sử trong hàm Main ta khai báo như sau: Point A = new Point(3,4); Note: Trong Trong trường hợp này tham số truyền cho this chính đối tượng A. Do đó: this.x chính là A.x Tóm Tóm lại: Tham số truyền cho đối this chính là đối tượng đi kèm với phương thức trong lời gọi phương thức. OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 3 9. Đóng gói dữ liệu với thuộc tính Thuộc Thuộc tính là khái niệm cho phép truy cập trạng thái của lớp thay vì thông qua truy cập trực tiếp các biến thành viên, nó sẽ đựơc thay thế bằng việc truy cập thông qua phương thức của lớp. Nói Nói cách khác Thuộc tính là các phương thức lấy giá trị (get) và gán giá trị (set): Chỉ Chỉ đọc (read-only): chỉ có phương thức get Chỉ Chỉ ghi (write-only): chỉ có phương thức set Vừa Vừa đọc vừa ghi (read/write): có cả hai phương thức get và set OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 4 2 Khai báo Phương thức cho thuộc tính public { // phương thức lấy giá trị của thuộc tính get { // trả về một giá trị cùng kiểu với biến thành viên return BiểuThứcTrảVề; } // phương thức gán giá trị cho thuộc tính set { BiếnThànhViên = value ; } } OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 5 VD minh họa Public class Time { int _Hour, _Minute, _Second ; public int Hour { set { _Hour = value ; } get { return _Hour; } } public int Minute { set { _Minute = value ; } get { return _Minute ; } } public int Second { set { _Second = value ; } get { return _Second ; } } } OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 6 3 VD minh họa Xem thêm vd trang 28-29 Public class CSinhVien { string _MaSV, _Ten; int _NamSinh ; string _TenNguoiYeu; // No Access-Modifier public string MaSV { // mã sinh viên read-only get { return _MaSV; } } public string Ten { set { _Ten = value ; } get { return _Ten ; } } public int NamSinh { set { _NamSinh = value ; } get { return _NamSinh ; } } } OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 7 10. Toán tử (operator) Trong Trong C# toán tử là một phương thức tĩnh (static method) dùng để quá tải (overload) một phép toán nào đó trên các đối tượng. Mục Mục đích của toán tử là để viết mã chương trình gọn gàng, dễ hiểu hơn, thay vì phải gọi phương thức . Vd Vd: giả sử ta có lớp Phân Số có p. thức Cong PhanSo ps1 = new PhanSo(2,4) ; PhanSo ps2 = new PhanSo(1,3) ; thay vì viết: ps3 = ps1.Cong(ps2) ta viết: PhanSo ps3 = ps1 + ps2; nếu ta dùng operator overloaded OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 8 4 10. Toán tử (operator) tt Ta Ta có thể quá tải các toán tử sau: Toán Toán học: + , - , * , / , % Cộng Cộng trừ một ngôi: ++ , -- , - Quan Quan hệ so sánh: == , != , > , < , >= , 10. Chú ý quá tải toán tử (operator overloaded) Khi Khi quá tải toán tử ==, != thì nên phát triển thêm các phương thức Equals(), GetHashCode() để đảm bảo luật “hai đối tượng bằng nhau theo toán tử == hoặc phương thức Equals sẽ có cùng mã băm” Khi Khi định nghĩa toán tử ép kiểu ta phải chỉ ra đây là toán tử ép kiểu ngầm định (implicit) hay tường minh (explicit) Cú Cú pháp định nghĩa toán tử ép kiểu: public static [ implicit | explicit ] operator KiểuTrảVềT (Type V) Trong đó Type V là biến cần ép sang kiểu KiểuTrảVềT OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 11 VD minh họa Public class PhanSo { int Tu, Mau; public PhanSo(int TuSo, int MauSo) { Tu = TuSo; Ma ...
Nội dung trích xuất từ tài liệu:
Class & Object (tt)Thiết kế và cài đặt lớp & đối tượng1 1OOP in C# - GV: Class & Object (tt) Thiết kế và cài đặt lớp & đối tượng OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 1 1 8. Tham chiếu this Khi Khi một đối tượng đang thực thi một phương thức (không phải là phương thức tĩnh), tham chiếu this tự động trỏ đến đối tượng này. Có Có 3 trường hợp sử dụng tham chiếu this: Tránh Tránh xung đột tên khi tham số của phương thức trùng tên với tên biến dữ liệu của Object Dùng Dùng truyền đối tượng hiện tại làm tham số cho một phương thức khác (VD gọi đệ qui) Dùng Dùng với mục đích chỉ mục (Index) OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 2 1 Vd: this Xem thêm vd trang 25-26 public class Point { private int x,y; public Point(int ox, int oy) { this.x = ox; // tương đương x = ox; this.y = oy; // tương đương y = oy; } } // Giả sử trong hàm Main ta khai báo như sau: Point A = new Point(3,4); Note: Trong Trong trường hợp này tham số truyền cho this chính đối tượng A. Do đó: this.x chính là A.x Tóm Tóm lại: Tham số truyền cho đối this chính là đối tượng đi kèm với phương thức trong lời gọi phương thức. OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 3 9. Đóng gói dữ liệu với thuộc tính Thuộc Thuộc tính là khái niệm cho phép truy cập trạng thái của lớp thay vì thông qua truy cập trực tiếp các biến thành viên, nó sẽ đựơc thay thế bằng việc truy cập thông qua phương thức của lớp. Nói Nói cách khác Thuộc tính là các phương thức lấy giá trị (get) và gán giá trị (set): Chỉ Chỉ đọc (read-only): chỉ có phương thức get Chỉ Chỉ ghi (write-only): chỉ có phương thức set Vừa Vừa đọc vừa ghi (read/write): có cả hai phương thức get và set OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 4 2 Khai báo Phương thức cho thuộc tính public { // phương thức lấy giá trị của thuộc tính get { // trả về một giá trị cùng kiểu với biến thành viên return BiểuThứcTrảVề; } // phương thức gán giá trị cho thuộc tính set { BiếnThànhViên = value ; } } OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 5 VD minh họa Public class Time { int _Hour, _Minute, _Second ; public int Hour { set { _Hour = value ; } get { return _Hour; } } public int Minute { set { _Minute = value ; } get { return _Minute ; } } public int Second { set { _Second = value ; } get { return _Second ; } } } OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 6 3 VD minh họa Xem thêm vd trang 28-29 Public class CSinhVien { string _MaSV, _Ten; int _NamSinh ; string _TenNguoiYeu; // No Access-Modifier public string MaSV { // mã sinh viên read-only get { return _MaSV; } } public string Ten { set { _Ten = value ; } get { return _Ten ; } } public int NamSinh { set { _NamSinh = value ; } get { return _NamSinh ; } } } OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 7 10. Toán tử (operator) Trong Trong C# toán tử là một phương thức tĩnh (static method) dùng để quá tải (overload) một phép toán nào đó trên các đối tượng. Mục Mục đích của toán tử là để viết mã chương trình gọn gàng, dễ hiểu hơn, thay vì phải gọi phương thức . Vd Vd: giả sử ta có lớp Phân Số có p. thức Cong PhanSo ps1 = new PhanSo(2,4) ; PhanSo ps2 = new PhanSo(1,3) ; thay vì viết: ps3 = ps1.Cong(ps2) ta viết: PhanSo ps3 = ps1 + ps2; nếu ta dùng operator overloaded OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 8 4 10. Toán tử (operator) tt Ta Ta có thể quá tải các toán tử sau: Toán Toán học: + , - , * , / , % Cộng Cộng trừ một ngôi: ++ , -- , - Quan Quan hệ so sánh: == , != , > , < , >= , 10. Chú ý quá tải toán tử (operator overloaded) Khi Khi quá tải toán tử ==, != thì nên phát triển thêm các phương thức Equals(), GetHashCode() để đảm bảo luật “hai đối tượng bằng nhau theo toán tử == hoặc phương thức Equals sẽ có cùng mã băm” Khi Khi định nghĩa toán tử ép kiểu ta phải chỉ ra đây là toán tử ép kiểu ngầm định (implicit) hay tường minh (explicit) Cú Cú pháp định nghĩa toán tử ép kiểu: public static [ implicit | explicit ] operator KiểuTrảVềT (Type V) Trong đó Type V là biến cần ép sang kiểu KiểuTrảVềT OOP in C# - GV: Phạm Đình Sắc – dinhsac@gmail.com 11 VD minh họa Public class PhanSo { int Tu, Mau; public PhanSo(int TuSo, int MauSo) { Tu = TuSo; Ma ...
Tìm kiếm theo từ khóa liên quan:
Hệ thống Scada đèn giao thông thông minh WINCC PLC S7-200 lưu đồ giải thuật PC access lập trình trên Win CCGợi ý tài liệu liên quan:
-
Đồ án tốt nghiệp: Thiết kế và thi công mô hình công viên 4.0
101 trang 151 0 0 -
Bài tập lớn Scada - Thiết kế hệ thống đèn giao thông dùng PLC S7-200 và WinCC
39 trang 106 0 0 -
Đề tài: THIẾT KẾ HỆ THỐNG TỰ ĐỘNG HÓA TRẠM BIẾN ÁP 110KV SỬ DỤNG RTU
15 trang 65 0 0 -
Giáo trình Wincc cho hệ thống Scada
134 trang 33 0 0 -
Bài giảng thiết bị Siemems S7-300
83 trang 31 0 0 -
Hướng dẫn giao tiếp mạng Internet & PLC S7-200
22 trang 27 0 0 -
Truy xuất và cài đặt Rơle từ xa
5 trang 24 0 0 -
Đồ án tốt nghiệp: Báo động qua đường dây điện thoại
78 trang 23 0 0 -
Bài giảng Hệ thống Scada - ĐH Phạm Văn Đồng
78 trang 22 0 0 -
Luận Văn Tốt Nghiệp Mô hình giám sát và điều khiển động cơ bước
90 trang 21 0 0