arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

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

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

hashtag
1. Перегрузка методов

Вернитесь к классу TimeSpan из второй лабораторной работы.

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

  • конструктор без аргументов (в этом случае временной интервал равен 0 часов и 0 минут);

  • конструктор с 1 аргументом (минуты);

  • конструктор с 2 аргументами (часы и минуты);

hashtag
2. Цепочка наследования. В данном задании необходимо выполнить следующие действия:

1. Создайте класс Person, который должен содержать конструктор, геттеры\сеттеры и следующие поля:

  • фамилия;

  • имя;

  • возраст.

Переопределите метод toString(), который должен возвращать строку следующего формата:

2. Создайте класс Student, который должен наследоваться от класса Person. Добавьте конструктор, геттеры\сеттеры и следующие поля:

  • группа;

  • номер студенческого билета.

Переопределите метод toString(), который должен возвращать строку следующего формата:

3. Создайте класс Lecturer, который должен наследоваться от класса Person. Добавьте конструктор, геттеры\сеттеры и следующие поля:

  • кафедра;

  • зарплата.

Переопределите метод toString(), который должен возвращать строку следующего формата:

4. Используя восходящее преобразование, создайте в классе Main несколько объектов классов Student и Lecturer, после чего создайте массив, который бы мог включать объекты классов Person, Student, Lecturer. Заполните массив объектами этих классов.

5. Используя цикл, обратитесь к элементам массива и выведите в консоль, с помощью метода toString(), информацию от каждого объекта.

hashtag
3. Задание на простой полиморфизм

В данной задаче мы допишем игру "Камень Ножницы Бяумага".

  1. Скачайте, распакуйте и откройте проект в IntelliJ IDEA, запустите приложение и изучите исходный код;

  2. с помощью механизма полиморфизма создайте классы игровых фигур (Камень, Ножницы, Бумага), которые наследуются от GameShape;

  3. Напишите логику метода generateShape(), который возвращает одну из трех случайных фигур (объект одного из трех классов);

hashtag
4. Модификация программы Draw

Скачайте архив с проектом

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

hashtag
Задание состоит в следующем:

  1. Откройте проект, прочитайте комментарии, разберитесь как работает приложение;

  2. Используя механизм полиморфизма, модифицируйте программу, добавив возможность выбирать и рисовать эллипсы;

  3. Задание на дополнительный балл. Добавьте в программу кнопку Clear, по нажатию на которую программа должна стирать все фигуры.

circle-exclamation

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

конструктор с 1 аргументом типа TimeSpan (из входящего TimeSpan считываются часы и минуты для создания нового TimeSpan);
  • метод добавления времени ко временному интервалу с 2 аргументами (часы и минуты);

  • метод добавления времени ко временному интервалу с 1 аргументом (минуты);

  • метод добавления времени ко временному интервалу с 1 аргументом типа TimeSpan (из входящего TimeSpan считываются часы и минуты для добавления к текущему);

  • метод вычитания времени из текущего временного интервала с 2 аргументами (часы и минуты);

  • метод вычитания времени из текущего временного интервала с 1 аргументом (минуты);

  • метод вычитания времени из текущего временного интервала с 1 аргументом типа TimeSpan (из входящего TimeSpan считываются часы и минуты для вычитания из текущего).

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

  • реализуйте метод checkWinner(), который принимает на вход два объекта игровых фигур - фигура компьютера и игрока. С помощью оператора instanceof выясните, фактический объект какого класса скрывается за ссылочной переменной типа GameShape. В зависимости от сочетания фигур, метод возвращает: 1 если выиграл игрок, -1 если выиграл компьютер или 0 если ничья;

  • Сыграйте в игру и убедитесь, что ваш код корректен и игра работает правильно.

  • file-download
    14KB
    roshambo.rar
    arrow-up-right-from-squareOpen
    Архив с игрой
    file-download
    35KB
    Draw.rar
    arrow-up-right-from-squareOpen
    Архив с проектом
    Человек <фамилия> <имя>, возраст: <возраст>
    Студент группы <группа>, <фамилия> <имя>, возраст: <возраст>. Номер студенческого билета: <номер>
    Преподаватель кафедры <кафедра>, <фамилия> <имя>, возраст: <возраст>. Зарплата: <зарплата>