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

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


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

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

5   голосов , оценка 3.4 из 5
Похожие ответы