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