Объектно -ориентированная конструкция: масштабируемая и обслуживаемая система автомобильных магазиновJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Объектно -ориентированная конструкция: масштабируемая и обслуживаемая система автомобильных магазинов

Сообщение Anonymous »

Вчера у меня было интервью, и я задал вопрос OOD: < /p>

Система хранилища гоночной машины: < /p>
Система хранит информацию о автомобилях, доступных для игроков. Бензин /дизель. < /li>
< /ul>
Разработать систему, которая может производить автомобили, запрашиваемые игроками (если игрок
хочет автомобиль с ручным изменением и сжиганием дизеля, ваш
system должен обеспечить один экземпляр автомобиля, отвечающий требованиям).
. /> Мои мысли и решение:
Я думаю, что требование содержит два атрибута: передача и топливо. Я планирую сделать абстрактный класс, содержит атрибуты и соответствующее поведение. Принимая во внимание масштабируемость, будет иметь интерфейс подвижный , который содержит поведение, что может сделать автомобиль. Готово:
Интерфейс содержит общее поведение, в настоящее время имеет только Showspecs () < /code>. < /p>

Код: Выделить всё

public interface Movable {
public String showSpecs();
}
абстрактный класс содержит атрибуты топлива и gear

Код: Выделить всё

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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»