У меня есть плеер, который может кормить собака или нарезать a дерево.Какой шаблон дизайна использовать (активные и пассивные методы)?
Ниже перечислены классы, которые я написал:
public class Dog {
private int health;
public void feed(Food food){
health = health + food.getNutritionalValue();
}
}
public class Player{
public void feed(Dog dog, Food food) {
dog.feed(food);
}
игрока и Собака оба имеют методы, которые являются «активными».
Игрок кормит собаку и собака начинает едят пищу (я не совсем уверен, что это хорошо методы пары таким образом).
С другой стороны, у меня есть дерево. И плеер способен нарезать дерево.
общественного класс игрок {
public void chop(Tree tree) {
//At this point I am not sure
}
Я не уверен, если я хотел бы использовать добытчиков и сеттеров из дерева класса взаимодействовать с деревом.
Или, если я должен написать собственный метод для этого, потому что дерево получает измельчение, так что это не что-то действительно активное, я бы назвал.
Таким образом, в конце концов, будет два или более видов реализаций но два я имею в виду, являются:
tree.setAmountofWood = x
или
tree.gettingChopped(Damage int)
Я думаю, что я должен сделать самостоятельно метод для этого рубительный процесс.
Или есть какой-либо принцип дизайна, которому я должен следовать?
Как бы вы реализовали эти передачи сообщений объекту? – user2742409