Иерархия пользовательских классов и агрегация - 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;}
....
}