logo search
C#, 320 стр

Персоны и профессии

Рассмотрим еще один пример работы с перечислениями, приближенный к реальности. Добавим в класс 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.