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

Задание 1. Модификация классов

Добавьте модификаторы доступа к членам классов, разработанных в лабораторной работе 2 (классы TimeSpan, BankAccount и Student).

Подумайте над тем, какие члены класса сделать приватными, а какие публичными

Задание 2. Создание UML-диаграмм

Для модифицированных классов из второй лабораторной работы нарисуйте диаграммы классов UML.

Задание 3. Класс IntStack

Необходимо создать класс IntStack, который реализует функционал стека целых чисел с помощью статического массива.

Нарисуйте класс в диаграмме классов UML

При реализации стека учитывайте следующее:

  • при реализации класса вам необходимо указать область видимости для полей и методов. Подумайте о том, какие методы необходимо отнести к "интерфейсу", а какие к реализации;

  • размер стека для внешнего пользователя не имеет значения и теоретически неограничен;

  • внешний пользователь не должен знать и догадываться, что стек "внутри" реализован с помощью обычного статического массива;

  • вы должны написать "реализацию" класса таким образом, чтобы можно моделировать динамическое поведение стека с помощью обычного статического массива;

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

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

ВАЖНО! Стек необходимо реализовать с помощью статического целочисленного массива!

НЕ ИСПОЛЬЗУЙТЕ КОЛЛЕКЦИИ И ПОТОКИ ДАННЫХ, ТОЛЬКО МАССИВЫ

Для внешнего пользователя класса, поведение класса выглядит следующим образом:

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

  • пользователю доступна команда pop() для извлечения элемента из стека. Метод pop() возвращает извлеченный элемент. При попытке извлечь из пустого стека, метод возвращает 0 или выбрасывает исключение (реализуйте выброс исключения, если вы знаете, как это делать и что такое исключение);

  • пользователю доступна команда push(), которая добавляет элемент в стек;

  • пользователю доступна команда peek() для просмотра элемента на вершине стека без его исключения.

  • пользователь может получить значение количества элементов в стеке с помощью метода size();

  • пользователь может проверить, пустой ли стек с помощью метода isEmpty();

  • пользователь может очистить стек полностью с помощью метода clear().

Задание 4. Создание класса по UML-диаграмме

Создайте Java-классы исходя из диаграммы, представленной ниже. Код методов реализовывать не нужно, только заголовки и общую структуру классов.

Last updated