ITI0011RUS:task 07
Срок сдачи упражнения 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), в которой должно содержаться имя объекта. Например, сообщение может быть "Мати грустит, потому что у него отобрали машину" или "Кати получила машину :)". Не используйте символы äöüõ в сообщениях.