Skip to content

snz89/java_mirea

Repository files navigation

Практика 3

Задача #1

Создайте пакет vehicles, который будет содержать классы Car и Electric Car и пакет app, в котором будет находиться основной класс с методом main. Добавьте в класс Car приватные поля (private) ownerName и insuranceNumber. Создайте методы доступа (геттеры и сеттеры) для полей ownerName и insuranceNumber. Добавьте поле engineType с модификатором доступа protected и создайте методы доступа к этому полю.

Задача #2

Создайте новый класс Electric Car, который наследует класс Car, и добавьте в него поле batteryCapacity. В классе Electric Car используйте поле engineType, чтобы задать тип двигателя как "Electric". Проверьте работу инкапсуляции и наследования, создав объекты классов Car и Electric Car и продемонстрируйте доступ к полям с разными модификаторами.

Практика 4

Ваша программа должна быть организована по пакетам:

  • Пакет vehicles для классов Vehicle, Car, Electric Car
  • Пакет app для тестового класса Test Car.

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

  1. Добавить абстрактный класс Vehicle, который будет представлять общие свойства всех транспортных средств. В этот класс включите следующие общие поля для транспортных средств: model (модель); license (номерной знак); color (цвет); year (год выпуска); ownerName (имя владельца); insuranceNumber (страховой номер); engineType (тип двигателя, поле должно быть защищённым для наследования). Определите абстрактный метод vehicleType(), который будет возвращать тип транспортного средства. Добавьте методы для получения и изменения значений полей (геттеры и сеттеры).
  2. Изменить класс Car, чтобы он наследовал Vehicle. Реализуйте абстрактный метод vehicleType(), чтобы он возвращал "Car". В конструкторе класса Car используйте поля и методы родительского класса.
  3. Изменить класс Electric Car, чтобы он наследовал Car. Добавьте в класс поле batteryCapacity (емкость аккумулятора) и методы для работы с ним. Реализуйте метод vehicleType(), который будет возвращать "Electric Car". Используйте protected-поле engineType для установки значения "Electric" в классе Electric Car.
  4. Использовать полиморфизм в тестовом классе для работы с объектами Car и Electric Car через ссылки на родительские классы. Создайте объекты Car и Electric Car, измените их свойства с помощью сеттеров, и выведите информацию на экран с помощью метода toString().
  5. Включить инкапсуляцию: убедитесь, что поля каждого класса имеют доступ через методы (геттеры и сеттеры), а не напрямую.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages