TAILIEUCHUNG - Các giao diện và mẫu phần 2

Bạn cần một cơ chế dùng để so sánh các kiểu tùy biến, cho phép bạn dễ dàng sắp xếp tập hợp chứa các thể hiện của kiểu này. Để cung cấp một cơ chế so sánh chuẩn cho một kiểu, hiện thực giao diện . | Hiện thực kiểu khả-so-sánh comparable type Ÿ Bạn cần một cơ chế dùng để so sánh các kiểu tùy biến cho phép bạn dễ dàng sắp xếp tập hợp chứa các thể hiện của kiểu này. Để cung cấp một cơ chế so sánh chuẩn cho một kiểu hiện thực giao diện . Để hỗ trợ nhiều dạng so sánh tạo riêng từng kiểu trợ giúp helper và các kiểu này hiện thực giao diện . Nếu muốn sắp xếp kiểu của bạn chỉ theo một thứ tự nào đó như ID tăng dần hay tên theo thứ tự alphabet bạn nên hiện thực giao diện IComparable. Giao diện này định nghĩa phương thức CompareTo như sau int CompareTo object obj Đối tượng obj được truyền cho phương thức phải cùng kiểu với đối tượng đang gọi nếu không CompareTo sẽ ném ngoại lệ . Giá trị do CompareTo trả về được tính như sau Nếu đối tượng hiện tại nhỏ hơn obj trả về một số âm chẳng hạn -1 . Nếu đối tượng hiện tại có cùng giá trị như obj trả về zero. Nếu đối tượng hiện tại lớn hơn obj trả về một số dương chẳng hạn 1 . Phép so sánh này thực hiện điều gì là tùy thuộc vào kiểu đã hiện thực giao diện IComparable. Ví dụ nếu muốn sắp xếp dựa theo tên bạn cần thực hiện phép so sánh chuỗi String . Tuy nhiên nếu muốn sắp xếp dựa theo ngày sinh bạn cần thực hiện phép so sánh ngày . Để hỗ trợ nhiều dạng sắp xếp cho một kiểu cụ thể bạn phải hiện thực riêng rẽ từng kiểu trợ giúp và các kiểu này hiện thực giao diện IComparer. Giao diện này định nghĩa phương thức Compare như sau int Compare object x object y Kiểu trợ giúp phải đóng gói logic cần thiết để so sánh hai đối tượng và trả về một giá trị dựa trên logic như sau Nếu x nhỏ hơn y trả về một số âm chẳng hạn -1 . Nếu x có cùng giá trị như y trả về zero. Nếu x lớn hơn y trả về một số dương chẳng hạn 1 . Lớp Newspaper dưới đây hiện thực cả giao diện IComparable và IComparer. Phương thức thực hiện phép so sánh không phân biệt chữ hoa-thường hai đối tượng Newspaper dựa trên trường name của chúng. Một lớp private lồng bên trong .

TAILIEUCHUNG - Chia sẻ tài liệu không giới hạn
Địa chỉ : 444 Hoang Hoa Tham, Hanoi, Viet Nam
Website : tailieuchung.com
Email : tailieuchung20@gmail.com
Tailieuchung.com là thư viện tài liệu trực tuyến, nơi chia sẽ trao đổi hàng triệu tài liệu như luận văn đồ án, sách, giáo trình, đề thi.
Chúng tôi không chịu trách nhiệm liên quan đến các vấn đề bản quyền nội dung tài liệu được thành viên tự nguyện đăng tải lên, nếu phát hiện thấy tài liệu xấu hoặc tài liệu có bản quyền xin hãy email cho chúng tôi.
Đã phát hiện trình chặn quảng cáo AdBlock
Trang web này phụ thuộc vào doanh thu từ số lần hiển thị quảng cáo để tồn tại. Vui lòng tắt trình chặn quảng cáo của bạn hoặc tạm dừng tính năng chặn quảng cáo cho trang web này.