ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Порядок на классе PersonОпределив метод CompareTo для класса Person, мы тем самым ввели отношение порядка для объектов этого класса. Конечно, сравнение персон может выполняться по разным критериям: возрасту, росту, зарплате. В данном случае отношение порядка на объектах класса Person задается как отношение порядка на фамилиях персон. Так как строки наследуют интерфейс IComparable, для фамилий персон вызывается метод CompareTo, его результат и возвращается в качестве результата метода CompareTo для персон. Введем теперь в нашем классе Person перегрузку операций отношения: public static bool operator <(Person p1, Person p2) { return (p1.CompareTo(p2) < 0); } public static bool operator >(Person p1, Person p2) { return (p1.CompareTo(p2) > 0); } public static bool operator <=(Person p1, Person p2) { return (p1.CompareTo(p2) <= 0); } public static bool operator >=(Person p1, Person p2) { return (p1.CompareTo(p2) >=0); } public static bool operator ==(Person p1, Person p2) { return (p1.CompareTo(p2) == 0); } public static bool operator!=(Person p1, Person p2) { return (p1.CompareTo(p2)!= 0); } Как обычно, приведу тестовый пример, проверяющий работу с введенными методами: public void TestCompare() { Person poet1 = new Person("Пушкин"); Person poet2 = new Person("Лермонтов"); Person poet3 = new Person("Пастернак"); Person poet4 = new Person("Мандельштам"); Person poet5 = new Person("Ахматова"); Person poet6 = new Person("Цветаева"); Console.WriteLine("{0} > {1} = {2}", poet1.Fam, poet2.Fam, (poet1 > poet2)); Console.WriteLine("{0} >= {1} = {2}", poet3.Fam, poet4.Fam, (poet3 >= poet4)); Console.WriteLine("{0}!= {1} = {2}", poet5.Fam, poet6.Fam, (poet5!= poet6)); } Вот результаты работы этого теста. Рис. 5.6. Сравнение персон Конечно, заданный нами порядок не имеет никакого отношения к поэтическому дару, а лишь говорит об относительном расположении фамилий поэтов в словарях. Не нашли, что искали? Воспользуйтесь поиском:
|