Bài giảng Lập trình hướng đối tượng: Một số kỹ thuật khác
Số trang: 23
Loại file: pdf
Dung lượng: 442.50 KB
Lượt xem: 10
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: Một số kỹ thuật khác" cung cấp cho người học các kiến thức: Chỉ mục, nạp chồng toán tử, chuyển đổi kiểu. Đâ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.
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: Một số kỹ thuật khác Một số kỹ thuật khác v 2.2 - 11/2017Lê Viết Mẫn - lvman@hce.edu.vn 1 Một số kỹ thuật khácNội dung1. Chỉ mục2. Nạp chồng toán tử3. Chuyển đổi kiểu Lê Viết Mẫn - lvman@hce.edu.vn 2 Một số kỹ thuật khác Chỉ mụcLê Viết Mẫn - lvman@hce.edu.vn 3 Một số kỹ thuật khácChỉ mục• Sử dụng thuộc tính chỉ mục public class PeopleCollection { List arrPeople = new List(); ... public Person this[int index] { get { return arrPeople[index]; } set { arrPeople.Insert(index, value); } } } static void Main() { PeopleCollection myPeople = new PeopleCollection(); //thêm các đối tượng với cú pháp chỉ mục myPeople[0] = new Person(“An”, 40); myPeople[1] = new Person(“Binh”, 35); //lấy đối tượng sử dụng chỉ mục for (int i = 0; i < myPeople.Count; i++) Console.WriteLine(myPeople[i]); } Lê Viết Mẫn - lvman@hce.edu.vn 4 Một số kỹ thuật khácChỉ mục với giá trị chuỗi public class PeopleCollection { private Dictionary dicPeople = new Dictionary(); ... public Person this[string name] { get { return (Person)dicPeople[name]; } set { dicPeople[name] = value; } } } Lê Viết Mẫn - lvman@hce.edu.vn 5 Một số kỹ thuật khácNạp chồng chỉ mục public class PeopleCollection { private Dictionary dicPeople = new Dictionary(); ... public Person this[string name] { get { return (Person)dicPeople[name]; } set { dicPeople[name] = value; } } public Person this[int index] { get { return (dicPeople.Values.ToList())[index]; } } } Lê Viết Mẫn - lvman@hce.edu.vn 6 Một số kỹ thuật khácNhững vấn đề khác• Chỉ mục cho đa chiều public class SomeContainer { private int[,] my2DArray = new int[10, 10]; ... public int this[int row, int column] { ... } }• Định nghĩa chỉ mục trong giao diện public interface IStringContainer { string this[int index] { get; set; } } Lê Viết Mẫn - lvman@hce.edu.vn 7 Một số kỹ thuật khác Nạp chồng toán tửLê Viết Mẫn - lvman@hce.edu.vn 8 Một số kỹ thuật khácNạp chồng toán tử• Là khả năng thực thi các toán tử với các lớp tự định nghĩa giống với các kiểu dữ liệu cơ sởPoint p1 = new Point(10, 20); Point p1 = new Point(10, 20);Point p2 = new Point(10, 40); Point p2 = new Point(10, 40);Point p3; Point p3;p3 = p2.add(p1); p3 = p2 + p1; p3 = p2 + 10;• Là một dạng của nạp chồng hàm • Là các hàm tĩnh có dạng operator@ (trong đó, @ là một toán tử có thể nạp chồng)• Lưu ý khi nạp chồng toán tử • Không thay đổi ý nghĩa của bất kỳ toán tử nào • Không thay đổi vị trí hay tính kết hợp của toán tử • Không thay đổi số lượng đối số • Không tạo ra toán tử mới (ví dụ, **) Lê Viết Mẫn - lvman@hce.edu.vn 9 Một số kỹ thuật khácCác toán tử có thể nạp chồng + - ! ~ ++ -- true Toán tử một ngôi false + - * / % & | ^ > == != < > = Toán tử so sánh [] Chỉ mục Không cần nạp chồng vì đã có kỹ thuật chỉ mục () Chuyển đổi kiểu Phần sau sẽ nói += -= *= /= %= &= |= Phép gán kết hợp ^= = Không cần nạp chồng Lê Viết Mẫn - lvman@hce.edu.vn 10 Một số kỹ thuật khácLớp Point public class Point { public int X { get; set; } public int Y { get; set; } public Point (int xPos, int yPos) { X = xPos; Y = yPos ...
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: Một số kỹ thuật khác Một số kỹ thuật khác v 2.2 - 11/2017Lê Viết Mẫn - lvman@hce.edu.vn 1 Một số kỹ thuật khácNội dung1. Chỉ mục2. Nạp chồng toán tử3. Chuyển đổi kiểu Lê Viết Mẫn - lvman@hce.edu.vn 2 Một số kỹ thuật khác Chỉ mụcLê Viết Mẫn - lvman@hce.edu.vn 3 Một số kỹ thuật khácChỉ mục• Sử dụng thuộc tính chỉ mục public class PeopleCollection { List arrPeople = new List(); ... public Person this[int index] { get { return arrPeople[index]; } set { arrPeople.Insert(index, value); } } } static void Main() { PeopleCollection myPeople = new PeopleCollection(); //thêm các đối tượng với cú pháp chỉ mục myPeople[0] = new Person(“An”, 40); myPeople[1] = new Person(“Binh”, 35); //lấy đối tượng sử dụng chỉ mục for (int i = 0; i < myPeople.Count; i++) Console.WriteLine(myPeople[i]); } Lê Viết Mẫn - lvman@hce.edu.vn 4 Một số kỹ thuật khácChỉ mục với giá trị chuỗi public class PeopleCollection { private Dictionary dicPeople = new Dictionary(); ... public Person this[string name] { get { return (Person)dicPeople[name]; } set { dicPeople[name] = value; } } } Lê Viết Mẫn - lvman@hce.edu.vn 5 Một số kỹ thuật khácNạp chồng chỉ mục public class PeopleCollection { private Dictionary dicPeople = new Dictionary(); ... public Person this[string name] { get { return (Person)dicPeople[name]; } set { dicPeople[name] = value; } } public Person this[int index] { get { return (dicPeople.Values.ToList())[index]; } } } Lê Viết Mẫn - lvman@hce.edu.vn 6 Một số kỹ thuật khácNhững vấn đề khác• Chỉ mục cho đa chiều public class SomeContainer { private int[,] my2DArray = new int[10, 10]; ... public int this[int row, int column] { ... } }• Định nghĩa chỉ mục trong giao diện public interface IStringContainer { string this[int index] { get; set; } } Lê Viết Mẫn - lvman@hce.edu.vn 7 Một số kỹ thuật khác Nạp chồng toán tửLê Viết Mẫn - lvman@hce.edu.vn 8 Một số kỹ thuật khácNạp chồng toán tử• Là khả năng thực thi các toán tử với các lớp tự định nghĩa giống với các kiểu dữ liệu cơ sởPoint p1 = new Point(10, 20); Point p1 = new Point(10, 20);Point p2 = new Point(10, 40); Point p2 = new Point(10, 40);Point p3; Point p3;p3 = p2.add(p1); p3 = p2 + p1; p3 = p2 + 10;• Là một dạng của nạp chồng hàm • Là các hàm tĩnh có dạng operator@ (trong đó, @ là một toán tử có thể nạp chồng)• Lưu ý khi nạp chồng toán tử • Không thay đổi ý nghĩa của bất kỳ toán tử nào • Không thay đổi vị trí hay tính kết hợp của toán tử • Không thay đổi số lượng đối số • Không tạo ra toán tử mới (ví dụ, **) Lê Viết Mẫn - lvman@hce.edu.vn 9 Một số kỹ thuật khácCác toán tử có thể nạp chồng + - ! ~ ++ -- true Toán tử một ngôi false + - * / % & | ^ > == != < > = Toán tử so sánh [] Chỉ mục Không cần nạp chồng vì đã có kỹ thuật chỉ mục () Chuyển đổi kiểu Phần sau sẽ nói += -= *= /= %= &= |= Phép gán kết hợp ^= = Không cần nạp chồng Lê Viết Mẫn - lvman@hce.edu.vn 10 Một số kỹ thuật khácLớp Point public class Point { public int X { get; set; } public int Y { get; set; } public Point (int xPos, int yPos) { X = xPos; Y = yPos ...
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 Kỹ thuật lập trình Nạp chồng toán tử Chuyển đổi kiểuGợi ý tài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 261 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 251 0 0 -
101 trang 198 1 0
-
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 192 0 0 -
Giới thiệu môn học Ngôn ngữ lập trình C++
5 trang 182 0 0 -
Bài giảng Nhập môn về lập trình - Chương 1: Giới thiệu về máy tính và lập trình
30 trang 151 0 0 -
Luận văn: Nghiên cứu kỹ thuật giấu tin trong ảnh Gif
33 trang 150 0 0 -
14 trang 132 0 0
-
Báo cáo thực tập Công nghệ thông tin: Lập trình game trên Unity
27 trang 117 0 0 -
Giáo trình về phân tích thiết kế hệ thống thông tin
113 trang 114 0 0