@VerNika

ООП. Как правильно организовать связь классов?

В общем есть три класса:
Пространство имён ЕГЭ
{
	Класс Образовательное_учреждение
	{
		Строка Название_ОУ;
		Число Номер_ОУ;
		Коллекция Ученики;
	}
	Класс Ученик
	{
		Строка Фамилия, Имя, Отчество;
		Символ Пол;
		Число Номер_паспорта;
		Коллекция Предметы;
	}
	Класс предмет
	{
		Строка Название;
		Дата Дата_сдачи;
		Число Первичный_балл, Итоговый_балл;
	}
}


Нужно продемонстрировать некоторые возможности ООП, а именно:
  1. Дружественные функции;
  2. Статичные методы;
  3. Конструкторы, деструкторы;
  4. Исключения;
  5. Интерфейсы;
  6. Шаблоны;
  7. Абстрактные классы и их абстрактные/виртуальные функции и их наследование;


Собственно возникает вопрос только по последнему пункту, где здесь более адекватно реализовать абстрактный класс с его методами? И чтобы он наследовался одним из наших классов? И конечно, чтобы осталось место для интерфейсов.

Данные классы не эталонные, можно свободно добавить новый класс и/или изменять поля этих классов. Реализация будет на C++, C#, Java, так что желательно исходить из их возможностей.
  • Вопрос задан
  • 447 просмотров
Решения вопроса 1
AtomKrieg
@AtomKrieg
Давай я поищу в Google за тебя
Класс предмет - имеет абстрактный метод, который возвращает название. Классы потомки "Математика", "Физика", "Информатика" их реализуют
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
что бы нужен был абстрактный класс у вас должно быть две реализации одного интерфейса у которых проявляется дублирование.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы