Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Тестирование переопределенных членов

Тестирование переопределенных членов

Теперь можно проверить обновленный класс Person. Добавьте следующий программный код в метод Main() и сравните результат его выполнения с тем, что показано на рис. 3.18.

static void Main (string[] args) {
 // ВНИМАНИЕ: эти объекты должны быть идентичными.
 Person р3 = new Person("Fred", "Jones", "222-22-2222", 98);
 Person p4 = new Person("Fred", "Jones", "222-22-2222", 98);
 // Тогда эти хеш-коды и строки будут одинаковыми.
 Console.WriteLine("-› Хеш-код для р3 = {0}", р3.getHashCode());
 Console.WriteLine("-› Хеш-код для р4 = {0}", p4.GetHashCode());
 Console.WriteLine("-› Строка для р3 = {0}", p3.ToString());
 Console.WriteLine("-› Cтрока для р4 = {0}", p4.ToString());
 // Здесь состояния должны быть одинаковыми.
 if (р3.Equals(p4)) Console.WriteLine("-› Состояния р3 и р4 одинаковы!");
 else Console.WriteLine("-› Состояния р3 и р4 различны!");
 // Изменим age для р4.
 Console.WriteLine("n-› Изменение age для р4n");
 р4.age = 2;
 // Теперь состояния неодинаковы: хеш-коды и строки будут разными.
 Console.WriteLine("-› Строка для р3 = {0}", p3.ToString());
 Console.WriteLine("-› Строка для р4 = {0}", p4.ToString());
 Console.WriteLine("-› Хеш-код для р3 = {0}", р3.GetHashCode());
 Console.WriteLine("-› Хеш-код для р4 = {0}", p4.GetHashCode());
 if (р3.Equals(p4)) Console.WriteLine("-› Состояния р3 и р4 одинаковы!")
 else Console.WriteLine("-› Состояния р3 и р4 различны!");
}


Рис. 3.18. Результаты переопределения членов System.Object

Оглавление книги


Генерация: 1.220. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз