Задание на лабораторную работу
Задание 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
Was this helpful?