Система хранилища гоночной машины: < /p>
Система хранит информацию о автомобилях, доступных для игроков. Бензин /дизель. < /li>
< /ul>
Разработать систему, которая может производить автомобили, запрашиваемые игроками (если игрок
хочет автомобиль с ручным изменением и сжиганием дизеля, ваш
system должен обеспечить один экземпляр автомобиля, отвечающий требованиям).
. /> Мои мысли и решение:
Я думаю, что требование содержит два атрибута: передача и топливо. Я планирую сделать абстрактный класс, содержит атрибуты и соответствующее поведение. Принимая во внимание масштабируемость, будет иметь интерфейс подвижный , который содержит поведение, что может сделать автомобиль. Готово:
Интерфейс содержит общее поведение, в настоящее время имеет только Showspecs () < /code>. < /p>
Код: Выделить всё
public interface Movable {
public String showSpecs();
}
Код: Выделить всё
public abstract class Car implements Movable {
String gear;
String fuel;
abstract void setFuel(String fuel);
abstract String getFuel();
abstract void setGear(String gear);
abstract String getGear();
}
< /code>
Теперь класс гоночного автомобиля: < /p>
public class RaceCar extends Car {
public RaceCar(String fuel, String gear) {
this.fuel = fuel;
this.gear = gear;
}
public void setFuel(String fuel) {
this.fuel = fuel;
}
public String getFuel() {
return this.fuel;
}
public void setGear(String gear) {
this.gear = gear;
}
public String getGear() {
return this.gear;
}
public String showSpecs() {
StringBuilder sb = new StringBuilder();
sb.append("Gear:").append(this.gear);
sb.append("Fuel:").append(this.fuel);
return sb.toString();
}
}
< /code>
Ниже приведен основной класс, который у меня есть: < /p>
public class Main {
public static void main(String[] args) {
System.out.println("get started...");
Car car = new RaceCar("diseal", "automatic");
System.out.println(car.showSpecs());
}
}
Подробнее здесь: https://stackoverflow.com/questions/630 ... ore-system