Задание на лабораторную работу

Задания для выполнения:

1. Программное обеспечение для университета

При выполнении задания продумайте следующие аспекты:

  • имена полей и типы данных;

  • как реализовать "уникальность" номера зачетной книжки и номера группы в рамках приложения;

  • модификаторы доступа для полей и методов;

  • тип методов, которые требуется реализовать;

  • если надо, реализуйте приватные методы и добавьте приватные поля, которые должны обеспечивать работу публичных методов.

1.1 Класс Student

Создайте публичный класс Student – студента некоторой специальности некоторого университета. Класс не хранит явным образом информацию о специальности, номере группы\потока, предметах, университете.

В классе должны быть следующие поля:

  • имя;

  • фамилия;

  • год поступления;

  • уникальный шестизначный номер зачетной книжки.

В классе должны быть следующие конструкторы:

  • принимает на вход имя и фамилию. При использовании данного конструктора, в номер зачетной книжки записывается 0;

  • принимает на вход имя, фамилию, номер зачетной книжки.

В классе должны быть следующие методы:

  • метод возвращает имя студента;

  • метод изменяет имя студента;

  • метод возвращает фамилию студента;

  • метод изменяет фамилию студента;

  • метод возвращает номер зачетной книжки;

  • метод изменяет номер зачетной книжки;

  • метод возвращает год поступления;

  • метод изменяет год поступления.

1.2 Класс Group

Создайте публичный класс Group – студенческой группы. Класс не хранит явным образом специальность и название университета.

В классе должны быть следующие поля:

  • уникальный номер (в пределах специальности);

  • массив студентов.

В классе должны быть следующие конструкторы:

  • принимает на вход номер группы (в этом случае, количество студентов записывается как 0);

  • принимает на вход номер группы, количество студентов (инициализация массива, но его элементы остаются пустыми);

  • принимает на вход массив студентов.

В классе должны быть следующие методы:

  • метод возвращает номер группы;

  • метод изменяет номер группы;

  • метод возвращает общее число студентов группы;

  • метод возвращает ссылку на студента по номеру зачетной книжки;

  • метод удаляет студента из группы по номеру зачетной книжки (помните про корректное удаление элемента из массива);

  • метод добавляет нового студента в группу (принимает на вход ссылку на объект Student, если массив уже полностью заполнен - реализуйте расширение массива);

  • метод возвращает массив студентов;

  • метод возвращает массив студентов, отсортированный по фамилиям (подумайте, как это сделать; если фамилии одинаковы - сортируйте по имени; если имена одинаковы - по номеру зачетной книжки).

1.3 Класс Main

В классе Main напишите код, чтобы протестировать функциональность созданных классов и реализованных методов

1.4 Модификация класса Group

Класс Group содержит внутри себя массив студентов. Методы класса Group требуют увеличения или уменьшения размера массива, вставки элемента внутри массива, вывод данных массива в отсортированном порядке.

Итого, есть данные и операции над данными (вставка, удаление, изменение размера, вывод в отсортированном порядке).

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

Last updated