Иерархия пользовательских классов и агрегация - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую! Помогите, пожалуйста, с задачей - составить иерархию классов "Человек, сотрудник, рабочий, студент, директор, рабочее место, кабинет" и построить рабочую модель с ними. Создать классы и обозначить наследование было не проблемой, но преподаватель потребовал связать класс "Кабинет" и абстрактный класс "Сотрудник", чтобы "у каждого сотрудника имелся свой кабинет". Как это осуществить, если они наследуются от разных предков? Подсказали использовать агрегацию, но как правильно реализовать ее в с#? Вот часть кода, где я описал рассматриваемые классы:
Листинг программы
  1. abstract class Workplace
  2. {
  3. public string city;
  4. public string street;
  5. public string building;
  6. public string compname;
  7. public Workplace(string c, string s, string b, string cm)
  8. {
  9. city = c;
  10. street = s;
  11. building = b;
  12. compname = cm;
  13. }
  14. }
  15. class Cabinet : Workplace
  16. {
  17. public string cabnum;
  18. public Cabinet(string c) : base("Город", "Улица", "Строение", "Название")
  19. {
  20. cabnum = c;
  21. }
  22. }
  23. abstract class Staff : Human
  24. {
  25. public string compname;
  26. protected int payment;
  27. protected Staff(string n, int p) : base("Имя", "Фамилия", "Пол", 0)
  28. {
  29. compname = n;
  30. payment = p;
  31. }
  32. }

Решение задачи: «Иерархия пользовательских классов и агрегация»

textual
Листинг программы
  1.             abstract class Staff : Human
  2.             {
  3.                  public Cabinet Cabinet {get;set;}
  4.                  ....
  5.             }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы