Помогите пожалуйста разобраться с заданием. Я только начал изучать язык JAVA и пока с этим есть некоторые трудности Суть задачи:
Задание А:
Создать интерфейс Run, для описания транспорта. Интерфейс должен иметь в себе следующие методы:
1.Метод вывода имени транспортного средства. 2.Метод получения скорости передвижения транспорта 3.Метод получения массы транспорта 4.Метод получения количества пассажиров 5.Метод получения количества колес транспорта
Вот код который я написал
public interface Run {
double getMassBus();
double getBusSpeed();
int getPassengers();
int getWheelAmount();
String getBusInfo();
}
Задание Б:
Создать абстрактный класс Mashine, который реализует интерфейс Run. В данном классе реализовать:
1.Константу максимальной скорости
2.Константу минимальной скорости
3.Константу минимального количества пассажиров
4.Константу максимального количества пассажиров
5.Поле с названием транспорта
6.Поле со скоростью передвижения транспорта в данный момент времени
7.Конструктор класса Mаshinе (String name, int speed)
8.Метод вывода информации о транспорте
Вот что удалось сделать
public abstract class Machine implements Run {
final int maxSpeed = 120; //Константа максимальної швидкості
final int minSpeed = 5; //Константа мінімальної швидкості
final int maxPasAmount = 30; //Максимальна к-сть пасажирів
final int minPasAmount = 1; //Мінімальна к-сть пасажирів
public String busName; //Поле з назвою транспортного засобу
public double presentSpeed; //Поле швидкості пересування в даний момент
//Конструктор класу Machine
public Machine(String name, double speed){
this.presentSpeed = speed;
this.busName = name;
}
//Реалізація методів з інтерфейсу
abstract public int getWheelAmount();
abstract public int getPassengers();
abstract public double getMassBus();
@Override
public double getBusSpeed(){
return presentSpeed;
}
@Override
public String getBusInfo(){
return "Назва " + busName + "\nМакс. шв: " + maxSpeed + "\nМін. шв: " + minSpeed + "\nМакс. к-сть пасажирів: " + maxPasAmount + "\nМін. к-сть пасажирів: " + minPasAmount;
}
}
Задание В: На котором все и встало
Создать супер класс "Автобус". От заданного супер класса создать двух прямых потомков "Городской" и "Междугородний двухэтажный". Потомки должны реализовывать все методы, какие нереализованные в абстрактном классе. Данные методы должны выводить на экран информацию о транспорте.
Вот до чего дошел:
public class Bus extends Machine{
private int wheels, amount;
private double mass;
//конструктор
public Bus(String name, double speed, int wheels, int amount, double mass) {
super(name, speed);
this.wheels = wheels;
this.amount = amount;
this.mass = mass;
}
//методы
@Override
public int getWheelAmount(){
return wheels;
}
@Override
public int getPassengers(){
return amount;
}
@Override
public double getMassBus(){
return mass;
}
}
Задание Г:
Создать демонстрационный класс, в котором создаются экземпляры обоих потомков, и производится вызов методов для вывода информации о наше транспорте.
ПРАВИЛЬНО ЛИ БЫЛО РЕАЛИЗОВЫВАТЬ ВСЕ МЕТОДЫ ИЗ ИНТЕРФЕЙСА В АБСТРАКТЕ ИЛИ ПО ЗАДАНИЮ, ЛУЧШЕ СДЕЛАТЬ ИХ В ПОТОМКАХ? ПОМОГИТЕ, ПОЖАЛУЙСТА ИСПРАВИТЬ НЕДОЧЕТЫ В ПЕРВЫХ ДВУХ ЗАДАНИЯХ И ДОДЕЛАТЬ В И Г. бОЛЬШОЕ ВАМ, ЗАРАНЕЕ, СПАСИБО