|
Не обнаружил проекты, которые используются в примерах в лекции, также не увидел список задач. |
Структуры и перечисления
Персоны и профессии
Рассмотрим еще один пример работы с перечислениями, приближенный к реальности. Добавим в класс Person, рассмотренный в предыдущей лекции 16, поле, определяющее профессию персоны. Вполне разумно иметь перечисление, например, Profession, задающее список возможных профессий. Сделаем это поле, как обычно, закрытым, а доступ к нему обеспечим соответствующим свойством:
Profession prof;
public Profession Prof
{
get {return (prof);}
set {prof = value;}
}Добавим еще в класс Person метод Analysis, анализирующий профессию, организуя традиционный разбор случаев и принимая решение на каждой ветви, в данном примере - выводя соответствующий текст:
public void Analysis()
{
switch (prof)
{
case Profession.businessman:
Console.WriteLine ("профессия: бизнесмен");
break;
case Profession.teacher:
Console.WriteLine ("профессия: учитель");
break;
case Profession.engineer:
Console.WriteLine ("профессия: инженер");
break;
default:
Console.WriteLine ("профессия: неизвестна");
break;
}
}Приведу простой тестирующий пример работы с объектом Person и его профессией:
public void TestProfession()
{
Person pers1 = new Person ("Петров");
pers1.Prof = Profession.teacher;
pers1.Analysis();
}Результаты работы с объектами перечислений, полученные при вызове тестов TestEnum и TestProfession, показаны на рис. 17.3.
