ITI0011RUS:task 07

Allikas: Kursused
Mine navigeerimisribale Mine otsikasti

Срок сдачи упражнения 13-е занятие (18 марта).

Общая информация об упражнениях: ITI0011RUS_Practice.
Обратно на страницу предмета.

Описание

Создать два класса: Car и Person. Первый класс соответствует транспортным средствами, второй класс - водителям транспортных средств. Более детальное описание классов ниже. Все поля класса должны быть спрятаны внутри класса и недоступны извне. Для доступа к этим полям следует создать get и set методы. Система автоматического тестирования строго следит за именами типов данных и полей - поэтому просьба убедиться, что в вашем решении все имена типов данных и полей в точности соответствуют тем, что перечислены в этом руководстве.

Решение задания следует разместить в директории EX07. Непосредственно в этой папке (или в любой папке внутри папки EX07) должны располагаться три файла: Car.java, Person.java и например Main.java (имя файла, содержащего main() метод может быть произвольным, и только этот последний файл должен содержать в себе метод main()). Все файлы должны располагаться в одной дирекотории (тоесть в одном пакете).

В методе main можно сделайте следующее:

  • создайте новый объект с именем "c" класса транспортного средства
  • задайте значение модели транспортного средства
  • создайте новый объект водителя с именем "p"
  • назначьте водителя p владельцем транспортного средства с
  • создайте еще одно транспортное средства c2
  • назначьте водителя p вдалельцем транспортного средства c2
  • создайте еще один объект водителя с именем p2
  • назначите водителя p2 владельцем транспортного средства c2

В дополнение к этому можете экспериментировать с объектами. Например, можете добавить метод, который выводит на экран список всех водителей данного транспортного средства.

Car

У транспортного средства должно быть два поля: model и owner. Тип данных первого поля String, тип данных второго поля Person. Тоесть владельцем транспортного средства является объект класса Person. Метод setOwner следует реализовать таким образом, что прежде всего он вызывает у текущего владельца транспортного средства метод takeAwayCar() и печатает сообщение об этой операции на экране, у нового владельца вызывает метод becomeCarOwner() и печатает сообщение об этой операции на экран, после чего меняет поле владельца на соответстующий объект типа Person. В дополнение ко всему, у класса транспортного средства должно быть два конструтора. Один из них пустой (позволяет создать объект как new Car();), второй конструктор получает модель в качестве аргумента (вызов new Car("Audi");).

Person

У класса человека должно быть поле name. У класса должен быть конструктор, который принимает строку в качестве параметра и инициализирует им поле имени. Также в классе должны присутствовать методы: takeAwayCar() ja becomeCarOwner(). Каждый из методов возвращает строку (тип возвращаемого значения String), в которой должно содержаться имя объекта. Например, сообщение может быть "Мати грустит, потому что у него отобрали машину" или "Кати получила машину :)". Не используйте символы äöüõ в сообщениях.