Danh mục

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    
Hoai.2512

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 ...

Tài liệu được xem nhiều: