Иерархия пользовательских классов и агрегация - C#
Формулировка задачи:
Приветствую!
Помогите, пожалуйста, с задачей - составить иерархию классов "Человек, сотрудник, рабочий, студент, директор, рабочее место, кабинет" и построить рабочую модель с ними.
Создать классы и обозначить наследование было не проблемой, но преподаватель потребовал связать класс "Кабинет" и абстрактный класс "Сотрудник", чтобы "у каждого сотрудника имелся свой кабинет".
Как это осуществить, если они наследуются от разных предков? Подсказали использовать агрегацию, но как правильно реализовать ее в с#?
Вот часть кода, где я описал рассматриваемые классы:
Листинг программы
- abstract class Workplace
- {
- public string city;
- public string street;
- public string building;
- public string compname;
- public Workplace(string c, string s, string b, string cm)
- {
- city = c;
- street = s;
- building = b;
- compname = cm;
- }
- }
- class Cabinet : Workplace
- {
- public string cabnum;
- public Cabinet(string c) : base("Город", "Улица", "Строение", "Название")
- {
- cabnum = c;
- }
- }
- abstract class Staff : Human
- {
- public string compname;
- protected int payment;
- protected Staff(string n, int p) : base("Имя", "Фамилия", "Пол", 0)
- {
- compname = n;
- payment = p;
- }
- }
Решение задачи: «Иерархия пользовательских классов и агрегация»
textual
Листинг программы
- abstract class Staff : Human
- {
- public Cabinet Cabinet {get;set;}
- ....
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д