{

  mngr = new Manager();

  Manager. f = false;

  }

Создание объекта manager и установка флага f=false (поля объекта менеджер еще не заполнены)

Для события Click кнопки button2 пишем следующий программный код:

  private void button2_Click(object sender, EventArgs e)

  {

  if (!Manager. f)

  {

  Manager. f = true;

  mngr. Name = textBox6.Text;

  mngr. Fio = textBox7.Text;

  mngr. Seniority = Convert. ToInt32(textBox8.Text);

  mngr. Salary = Convert. ToInt32(textBox9.Text);

  bordinate = section. Count;

  ISalSum iss = (ISalSum)mngr;

  mngr. Salarysum = iss. CalcSalSum();

  textBox10.Text = mngr. Salarysum. ToString();

  }

  else MessageBox. Show("В отделе может быть только однн управляющий");

  }

       Заполняются поля объекта mngr (менеджер), создается экземпляр класса интерфейса ISalSum (объкт iss) и расчитывается зарплата менеджера.

  Для события Click кнопки button1 пишем следующий программный код:

private void button1_Click(object sender, EventArgs e)

  {

if (Manager. f)

  {

Assistant ass = new Assistant();

  bordinate =section. Count+1;

  ass. AddAssistant += new EventHandler(mngr. DoEvent);

  ass. AddAssistant += new EventHandler(ViewEvent);

  ass. Name = textBox1.Text;

  ass. Fio = textBox2.Text;

  ass. Seniority = Convert. ToInt32(textBox3.Text);

  ass. Salary = Convert. ToInt32(textBox5.Text);

НЕ нашли? Не то? Что вы ищете?

  ISalSum iss = (ISalSum)ass;

  ass. Salarysum = iss. CalcSalSum();

  section. Add(ass);

  textBox4.Text += ass. Name + "  " + ass. Fio + "  " + ass. Salary. ToString() + "  " + ass. Seniority + "  " + ass. Salarysum. ToString() + (char)13 + (char)10;

  }

  else MessageBox. Show("Предварительно следует ввести информацию о менеджере");

  }

Для события Click кнопки button3 пишем следующий программный код:

private void button3_Click(object sender, EventArgs e)

  {

  textBox4.Clear();

  foreach (Assistant ass in section)

  {

  textBox4.Text += ass. Name + "  " + ass. Fio + "  " + ass. Salary. ToString() + "  " + ass. Seniority + "  " + ass. Salarysum. ToString() + (char)13 + (char)10;

  }

  }

Вывод в окно text4 списка всех продавцов

Для получения диаграммы классов в окне Solution Explorer щелкните правой кнопкой мыши по имени проекта (как показано на рисунке 3). В появившемся контекстном меню выберите пункт View Class Diagram.

КОНТРОЛЬНЫЕ ВОПРОСЫ

Что понимается под термином «класс»? Какие элементы определяются в составе класса? Каково соотношение понятий «класс» и «объект»? Что понимается под термином «члены класса»? Какие члены класса Вам известны? Какие члены класса содержат код? Какие члены класса содержат данные? Сколько конструкторов может содержать класс языка C#? Приведите синтаксис описания класса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. Какие модификаторы типа доступа Вам известны? В чем заключаются особенности доступа членов класса с модификатором public? В чем заключаются особенности доступа членов класса с модификатором private? В чем заключаются особенности доступа членов класса с модификатором protected? В чем заключаются особенности доступа членов класса с модификатором internal? Какое ключевое слово языка C# используется при создании объекта? Приведите синтаксис создания объекта в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. Что понимается под термином «конструктор»? В чем состоит назначение конструктора? Каждый ли класс языка C# имеет конструктор? Какие умолчания для конструкторов приняты в языке C#? Каким значением инициализируются по умолчанию значения ссылочного типа? В каком случае конструктор по умолчанию не используется? Приведите синтаксис конструктора класса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. Что понимается под термином «деструктор»? В чем состоит назначение деструктора? Приведите синтаксис деструктора класса в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. Имеет ли деструктор параметры? Возвращает ли деструктор значение? Что понимается под термином «наследование»? Какая классификация объектов соответствует наследованию? Что общего имеет дочерний класс с родительским? В чем состоит различие между дочерним и родительским классами? Приведите синтаксис описания наследования классов в общем виде. Проиллюстрируйте его фрагментом программы на языке C#. Что понимается под термином «интерфейс»? Чем отличается синтаксис интерфейса от синтаксиса абстрактного класса? Какое ключевое слово языка C# используется для описания  интерфейса?  Поддерживают ли реализацию методы интерфейса? Какие объекты языка C# могут быть членами интерфейсов? Каким количеством классов может быть реализован интерфейс? Может ли класс реализовывать множественные интерфейсы? Необходима ли реализация методов интерфейса в классе, включающем  этот интерфейс? Какой модификатор доступа соответствует интерфейсу? Допустимо ли явное указание модификатора доступа для  интерфейса? Приведите синтаксис интерфейса в общем  виде.  Проиллюстрируйте его фрагментом программы на языке C#. Возможно ли создание ссылочной переменной интерфейсного  типа? Возможно ли наследование интерфейсов? Насколько синтаксис наследования интерфейсов отличается от  синтаксиса наследования классов? Необходимо ли обеспечение реализации в иерархии наследуемых  интерфейсов? Что понимается под термином «делегат»? В чем состоят преимущества использования делегатов? В какой момент осуществляется выбор вызываемого метода в случае использования делегатов? Что является значением делегата? Какое ключевое слово языка C# используется для описания  делегатов? Приведите синтаксис делегата в общем виде. Проиллюстрируйте  его фрагментом программы на языке C#. Возможно ли использование делегата для вызова метода, соответствующего подписи делегата? Возможен ли вызов метода в том случае, если его подпись не соответствует подписи делегата? Что понимается под термином «многоадресность»? В чем состоит практическое значение многоадресности? Каким образом осуществляется создание цепочки методов для  многоадресных делегатов? Какие операторы языка C# используются для создания цепочки методов для многоадресных делегатов? Каким образом осуществляется удаление цепочки методов для  многоадресных делегатов? Какие операторы языка C# используются для удаления цепочки  методов для многоадресных делегатов? Каким должен быть тип возвращаемого значения для  многоадресных делегатов? Что понимается под термином «событие»? Являются ли события членами классов? Какое ключевое слово языка C# используется для описания событий? На каком механизме языка C# основана поддержка событий? Приведите синтаксис описания события в общем виде.  Проиллюстрируйте его фрагментом программы на языке C#. Что понимается под термином «широковещательное событие»?

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4