Я хотел бы создать программу на основе сценария робота, которая включает абстрактные классы, типы интерфейсов и списки массивов. Может ли кто-нибудь дать мне несколько советов о том, как создать этот сценарий (через диаграмму UML, чтобы показать, как все ссылки). Этот сценарий должен включать некоторые сложные методы, но я не уверен, что делать как сложный метод или где их разместить в сценарии. Заранее спасибо.сценарий робота - наследование java, типы интерфейсов и абстрактные классы
-4
A
ответ
2
Мир программирования, по большей части, перешел от сложных иерархий наследования, а вместо этого embraced composition и dependency injection. Я предлагаю вам разбить свои монолитные сервисы на небольшие (1-5 методов) интерфейсы. Это имеет дополнительное преимущество, что модульное тестирование становится легким, поскольку вы можете издеваться над зависимостями с mockito или аналогичным.
например:
public interface Walkable {
void walk(Robot robot, int paces);
}
public interface Talkable {
void talk(Robot robot, String phrase);
}
public interface Robot {
void walk(int paces);
void talk(String phrase);
}
public class RobotImpl implements Robot {
private final Walkable walkable;
private final Talkable talkable;
public RobotImpl(Walkable w, Talkable t) {
this.walkable = w;
this.talkable = t;
}
public void walk(int paces) {
walkable.walk(this, paces);
}
public void talk(String phrase) {
talkable.talk(this, phrase);
}
}
Это здорово! Большое спасибо за это! Это вдохновение, в котором я нуждаюсь. Я очень ценю это. – javaMonkey