tailieunhanh - ĐỒ ÁN TỐT NGHIỆP TÌM HIỂU NGÔN NGỮ C# VÀ VIẾT MỘT ỨNG DỤNG MINH HỌA PHẦN 4

Delegate và Event Gvhd: Nguyễn Tấn Trần Minh Khang Bây giờ thêm phương thức ReverseSort, để sắp các đối tượng theo thứ tự ngược. public void ReverseSort(WhichIsFirst theDelegatedFunc) { if ( theDelegatedFunc(thePair[0], thePair[1]) == ) { object temp | Delegate và Event Gvhd Nguyễn Tấn Trần Minh Khang Bây giờ thêm phương thức ReverseSort để sắp các đối tượng theo thứ tự ngược. public void ReverseSort WhichIsFirst theDelegatedFunc if theDelegatedFunc thePair 0 thePair 1 object temp thePair 0 thePair 0 thePair 1 thePair 1 temp Bây giờ chúng ta cần vài đối tượng để sắp xếp. Ta sẽ tạo hai lớp Student và Dog. Gán tên cho Student lúc khởi tạo public class Student public Student string name name Lớp Student yêu cầu hai phương thức một override từ hàm ToString và một để đóng gói như phương thức được ủy thác. Student phải override hàm ToString để phương thức ToString trong lớp Pair gọi. Hàm chỉ đơn giản trả về tên của sinh viên. public override string ToString return name Cũng cần phải cài đặt phương thức để có thể ủy thác quyền quyết định thứ tự hai đối tượng. return 0 Hàm là phương thức của lớp String trong thư viện .Net Framework. Hàm so sánh hai chuỗi và trả về số nhỏ hơn 0 nếu chuỗi đầu nhỏ hơn và trả về số lớn hơn 0 nếu ngược lại. Chú ý rằng hàm trả về theFirstComesFirst nếu chuỗi đầu nhỏ hơn và trả về theSecondComesFirst nếu chuỗi sau nhỏ hơn. Lớp thứ hai là Dog. Các đối tượng Dog sẽ được sắp xếp theo trọng lượng con nhẹ sẽ đứng trước con nặng. Đây là khai báo đầy đủ lớp Dog public class Dog public Dog int weight weight dogs are ordered by weight 90 Delegate và Event Gvhd Nguyễn Tấn Trần Minh Khang public static comparison WhichDogComesFirst Object o1 Object o2 Dog d1 Dog o1 Dog d2 Dog o2 return theSecondComesFirst theFirstComesFirst public override string ToString return private int weight Chú ý rằng lớp Dog cũng override phương thức ToString và cài đặt phương thức tĩnh với nguyên mẫu hàm được khai báo trong delegate. Cũng chú rằng hai phương thức chuẩn bị ủy thác của hai lớp Dog và Student không cần phải trùng .

TỪ KHÓA LIÊN QUAN